Review of "Disco: Running Commodity Operating Systems on Scalable Multiprocessors"

From: Jeff Duzak (jduzak_at_exchange.microsoft.com)
Date: Sun Feb 29 2004 - 11:56:12 PST

  • Next message: Steve Arnold: "Review: Bugnion, Devine, Rosenblum, "Disco""

    This paper describes Disco, a virtual machine monitor intended to exploit the multiple processors of a NUMA machine, without requiring the re-development of an entire operating system.
     
    To begin with, it seems strange to me to take a NUMA, a single machine with multiple processors and physical memories, and use it to emulate multiple independent machines. Why not simply use multiple single-proc machines? The paper describes some advantages of the Disco / NUMA system compared with multiple machines. First, Disco / NUMA allows sharing of some pages of memory between multiple VMs. However, since Disco is emulating independent machines, only unmodified pages can be shared. Once a page is modified by a VM, a copy of the page must be made for that VM. A second advantage of Disco / NUMA is dynamic allocation of machine resources to VMs. For example, memory not used by one VM can be given to another VM.
     
    The paper describes some performance testing of the Disco system. One test compares the execution of a workload using multiple VMs on Disco with the same workload not using virtual machines. Several configurations of the Disco system, using different numbers of VMs, were tested. Using 8 VMs on the Disco system, the workload executed in 60% of the time required to execute the workload on the non-VM system. This does show a significant speedup. However, using a 4 VM Disco system, the workload executed in 64% of the time required by the non-VM system. The small difference between the 4 VM system and the 8 VM system indicate diminishing returns. Further, the VMs in the Disco system do not interract with each other. Therefore, if the workload could be split between those VMs, it could also be split between separate physical machines. When NFS is used to provide a shared file system among the VMs, the speedup of the Disco system is reduced significantly. The execution time of the workload on an 8 VM system with NFS is 86% of the time required by the workload without using VMs.
     
    The real power of a NUMA over a cluster of machines is the shared memory. Therefore, in order for a software system to take advantage of a NUMA, it should allow applications running on different processors to share some parts of their address space. Disco alone can't achieve this; it would require modifying the operating system(s) running on top of Disco. Instead, applications share data through standard network protocols, which is the same way they would share data on a cluster of machines.


  • Next message: Steve Arnold: "Review: Bugnion, Devine, Rosenblum, "Disco""

    This archive was generated by hypermail 2.1.6 : Sun Feb 29 2004 - 11:56:12 PST