Multiple Restricted Virtual Machine

    MrVM is an architecture for building cross-layer, portable, composable, adaptive services. The heart of this architecture is the Composed Virtual Machine(CVM) framework which allows the building of a large system using small, safe, light-weight virtual machines.  Traditionally, complex computer services are solved using a huge and equally complex program. With MrVM, complex services can be divided into smaller ones, each implemented using a light-weight VM and the composed VM solves the whole problem. This facilitates solving complex problems using heuristics(e.g. rule-based approach). Portability allows VMs to be dynamically synchronized among all participating hosts which accelerates the deployment of new applications without waiting for standardization. Adaptability is achieved through dynamically replacing individual VMs with little or no effects on others. Light-weightness makes it feasible to extend MrVM to small, low-power, resource-constrained devices.

    We used a modified DLX instruction set for our VM. The register-based RISC instruction set allows us to map a VM into the physical instruction set once a VM is standardized. We are using MrVM  to build various applications including a flexible, fine-grained resource management system, application specific protocol composition and adaptation.





    Our current software includes a modified LCC compiler with DLX backend,  assembler, a VM interpreter, dynamic loader and a bunch of modified kernel files for our experiments. It is still under construction. If you would like to join the development of MrVM, please send an email to the current maintainer.

DSL Lab, CIS Dept.
University of Pennsylvania