From: Sellakumaran Kanagarathnam (sellak_at_windows.microsoft.com)
Date: Mon Mar 01 2004 - 10:41:54 PST
The paper presents Disco, a virtual machine monitor. It provides a
layer of abstraction between OS and hardware.
This allows commodity Operating systems to run on new hardware
architectures with little (for example, changes to HAL) or no changes to
OS and no changes to the applications. The principal motivation behind
Disco and similar VM monitors is to extend the modern operating systems
to run on scalable large-scale shared memory multiprocessor systems.
The monitors handle NUMA memory management issues by providing a
conventional view of memory to the operating systems. This VM monitor
approach also enables applications written for older operating systems
to run on new hardware by host the old OS and application on the new
hardware. This enables legacy applications to take advantage of the
newer and faster hardware.
At the same time, there are some challenges faced by VM monitors:
Overheads due to the virtualization of the hardware resources, resource
management problems due to lack of information available to the monitor
and communication and sharing.
Disco virtualizes all the resources of the machine and enables multiple
operating systems to run on these virtualized resources. Disco's
interface is as follows:
Processor: virtual CPUs of Disco provide the abstraction of a MIPS
R10000 processor.
Physical Memory: Disco provides an abstraction of main memory residing
in a contiguous physical address space. Disco uses dynamic page
migration and replication to export nearly uniform memory access time
memory architecture to the OS.
I/O Devices: disks, network interfaces, periodic interrupt timers,
clocks are all virtualized. Special abstractions for SCSI disk and
network devices. Disco supports a special network interface that can
handle large transfer sizes without fragmentation. The implementation of
Disco provides virtual CPUs, virtual physical memory, NUMA memory
management, virtual I/O devices, copy-on-write disks and virtual network
interfaces.
Experiments were carried out on SimOS (a machine simulator, as FLASH
machine was not available at that time). The execution overheads ranged
from 3% to 16% and the overhead was mainly due to Disco trap emulation
of TLB reload misses.
The idea of VM monitors helps utilize the power of new hardware by
providing a layer of abstraction between hardware and software to
overcome the limitation of system software as well as applications and
it sounds very appealing.
This archive was generated by hypermail 2.1.6 : Mon Mar 01 2004 - 10:41:50 PST