Review: Disco: Running Commodity Operating Systems on Scalable Multiprocessors.

From: Sellakumaran Kanagarathnam (sellak_at_windows.microsoft.com)
Date: Mon Mar 01 2004 - 10:41:54 PST

  • Next message: Muench, Joanna: "Review of Disco"

    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.

     

     

     


  • Next message: Muench, Joanna: "Review of Disco"

    This archive was generated by hypermail 2.1.6 : Mon Mar 01 2004 - 10:41:50 PST