We research new technologies for improving the virtual machine experience, addressing microkernels, hypervisors, the performance of running commodity operating systems in virtual machines, techniques for easily accomplishing virtualization, and the application of virtual machines for solving problems.
New operating systems need access to devices, yet the cost of developing the device drivers is dramatic. We developed a technique to reuse pre-existing device drivers, unmodified.
We are developing automation technology for virtualizing operating systems. We enable a single guest OS binary to execute on a variety of hypervisors, and on raw hardware, with the performance of para-virtualization.
A virtual machine environment provides the benefits of flexibly scheduling concurrent virtual machines. We show how to maintain multiprocessor performance in the virtual machine environment.