From: Justin Voskuhl (justinv_at_microsoft.com)
Date: Mon Mar 01 2004 - 15:02:30 PST
Disco is a virtual machine monitor that runs on top of a non-uniform
memory access computer at Stanford called FLASH. FLASH is built out of
MIPS processors and has a set of processing units that communicate with
each other over an interconnect that allows it to simulate a shared
memory multiprocessor. Because such hardware needs software to be
useful, but building an OS from scratch or extending existing operating
systems is very expensive, the authors propose a way to virtualize
existing operating systems to allow them to run on the new hardware.
Disco provides a number of facilities that are used to enhance the
performance of the memory, disk, and network. The first is to be smart
about where to locate pages - it tries to keep them closest to the PE
that is using the most. The disks performance is enhanced by using
copy-on-write semantics so many disk requests can be satisfied
immediately by mapping pages from already loaded disk blocks into the
address space of a guest OS. The network is made more performant by
having a special area of memory that allows clients and servers using
NFS to coordinate using NFS semantics but instead of sending and
receiving messages on the network, it uses a shared block of memory.
One thing that strikes me about this paper is that to some degree the
purpose of having such cutting edge hardware should be to tackle new and
interesting problems that can't be solved on conventional systems. If
you saddle developers with the old OS (even with the extensions
described) then you're still somewhat limited in the new problems you
can solve with it. Disco is neat, but I just can't see how you justify
building a system like FLASH just to run emacs on top of IRIX on top of
Disco to edit your e-mail.
This archive was generated by hypermail 2.1.6 : Mon Mar 01 2004 - 15:02:36 PST