Review of Disco paper

From: Praveen Rao (psrao_at_windows.microsoft.com)
Date: Mon Mar 01 2004 - 00:19:16 PST

  • Next message: Chuck Reeves: "Disco: Running Commodity Operating Systems on Scalable Multiprocessors."

    Disco is a VM monitor which acts as a layer between OS and the hardware.
    This allows the commodity OSes to run on new hardware architectures.
    This requires very little modification to the OS and no changes to the
    applications written to the OS. This way a complete backward
    compatibility can be maintained while running a commodity OS on
    interesting new hardwares. For example a commodity OS can be made to run
    on NUMA hardware without modification. This is a very promising model.

     

    A VM monitor does have its challenges; these are overheads due to
    virutalization, resource mgmt problems and communication problems. A VM
    monitor needs to provide efficient sharing and multiplexing mechanisms
    for the VMs. Fortunately, modern commodity OSes have support for
    distributed computing. This can be leveraged for communication between
    VMs, for example VMs can be coupled using TCP/IP and NFS.

     

    Disco's interface is as follows:

    Processor: virtual processor which emulates MIPS

    Physical memory: Disco provides virtual physical memory to the VMs.
    Physical to machine address translation is facilitated by software
    loaded TLBs of MIPs. Disco also provides dynamic page migration and
    replication, which provides efficiency gains and can hide NUMA-ness of a
    NUMA architecture.

    I/O devices: are virtualized, special abstractions are used for SCSI
    disks and network devices because of their importance to perf. Disco
    adds special device drivers into the OS. Disks and network interfaces
    include a DMA map. Disco must intercept DMA requests to translate the
    physical address into machine address. Copy-on-write mechanism is used
    for disks to allow efficient read sharing.

     

    Overall Disco seems to be a promising model for running commodity OSes
    (and their large software base) over a variety of hardware
    architectures, facilitating adoption of new hardware architectures.


  • Next message: Chuck Reeves: "Disco: Running Commodity Operating Systems on Scalable Multiprocessors."

    This archive was generated by hypermail 2.1.6 : Mon Mar 01 2004 - 00:19:37 PST