From: Reid Wilkes (reidwilkes_at_hotmail.com)
Date: Sat Feb 28 2004 - 17:47:30 PST
The Disco paper describes a virtual machine technology. While the idea of virtual machines was certainly quite old when this paper was written, the authors attempt to bring new life to the subject by proposing virtual machine monitors as a solution to providing system software on new multiprocessor architectures. Specifically, Disco targets a ccNUMA architecture called FLASH. The paper quite convincingly promotes the benefits of virtual machine monitors for these new machine architectures. For one thing, it greatly reduces the cost and time - to - market for building entirely new operating system software for these new hardware advances. It also allows a smooth upgrade path to the new hardware because some virtual machines running on the machine can take advantage of the new hardware features while legacy systems and applications can still operate seamlessly in their own virtual machines. The authors do make a point of saying that the optimal software solution for the NUMA machines would be to implement an OS directly for that type of hardware platform. However, given time and cost constraints as well as keeping the aforementioned upgrade path available, the VM idea provides an attractive choice.
To really make the technology of virtual machine moniters viable not only for running legacy operating systems on NUMA machines but also for providing a software system which takes advantage of the parallelism and scale of the NUMA architectures, the DISCO system had to do more than previous virtual machine monitors. Disco automatically replicates and migrates pages of memory to provide optimized data locality. Copy on write disks allow multiple VM's to use the same physical disk pages even in buffer cache. In addition, DISCO provides optimizations which allow VM's to communicate efficiently with each other using standard network protocols. Together, these and other optimizations reduce (but do not eliminate!) the overhead traditionally associated with virtual machine monitors and also provide the ability to create scalable systems on the NUMA architecture machines using commodity operating systems.
Overall, this paper was one of the most challenging to read that we have yet covered. Understanding how virtual machines work requires understanding well just about every facet of operating system issues. In addition, the organization of the paper left a little to be desired. There were several things I found disappointing while reading the paper. First, it seems the authors took quite a bit of liberty in modifying the guest OS's where it seemed helpful to make certain things work better. I am not sure this is a realistic model to employ outside of research as it seems very risky from a reliability and maintenance point of view. It also violates the otherwise very simple idea of being able to run the commodity OS's unmodified on the virtual machines. I also was disappointed to see that the measurements the authors report were on a machine simulator rather than the actual FLASH machine. After reading that I had little more interest than to just scan through the experimental results. It was very interesting to see a mention of Exokernel in this paper. The comparisons between the two systems seem quite intriguing and in many ways they perform a very similar service.
This archive was generated by hypermail 2.1.6 : Sat Feb 28 2004 - 17:47:38 PST