DOC PREVIEW
CORNELL CS 614 - Disco: Running Commodity Operating Systems on Scalable Multiprocessors

This preview shows page 1-2-3-4-5 out of 14 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Disco: Running Commodity Operating Systems on Scalable Multiprocessors Edouard Bugnion, Scott Devine, and Mendel Rosenblum Computer Systems Laboratory Stanford University, Stanford, CA 94305 { bugnion, devine, mendel} @cs.stanford.edu http://www-flash.stanford.edu/Disco In this paper we examine the problem of extending modem operat- ing systems to run efficiently on large-scale shared memory multi- processors without a large implementation effort. Our approach brings back an idea popular in the 197Os, virtual machine monitors. We use virtual machines to run multiple commodity operating sys- tems on a scalable multiprocessor. This solution addresses many of the challenges facing the system software for these machines. We demonstrate our approach with a prototype called Disco that can run multiple copies of Silicon Graphics’ IRIX operating system on a multiprocessor. Our experience shows that the overheads of the monitor are small and that the approach provides scalability as well as the ability to deal with the non-uniform memory access time of these systems. To reduce the memory overheads associated with running multiple operating systems, we have developed techniques where the virtual machines transparently share major data struc- tures such as the program code and the file system buffer cache. We use the distributed system support of modem operating systems to export a partial single system image to the users. The overall solu- tion achieves most of the benefits of operating systems customized for scalable multiprocessors yet it can be achieved with a signifi- cantly smaller implementation effort. 1 Introduction Scalable computers have moved from the research lab to the mar- ketplace. Multiple vendors are now shipping scalable systems with configurations in the tens or even hundreds of processors. Unfortu- nately, the system software for these machines has often trailed hardware in reaching the functionality and reliability expected by modem computer users. Operating systems developers shoulder much of the blame for the inability to deliver on the promises of these machines. Extensive modifications to the operating system are required to efficiently support scalable machines. The size and complexity of modem op- erating systems have made these modifications a resource-intensive undertaking. In this paper, we present an alternative approach for construct- ing the system software for these large computers. Rather than mak- ing extensive changes to existing operating systems, we insert an additional layer of software between the hardware and operating system. This layer acts like a virtual machine monitor in that multi- ple copies of “commodity” operating systems can be run on a single scalable computer. The monitor also allows these commodity oper- ating systems to efficiently cooperate and share resources with each other. The resulting system contains most of the features of custom scalable operating systems developed specifically for these ma- chines at only a fraction of their complexity and implementation Permission to make digital/hard copy of part or all this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advan- tage, the copyright notice, the title of the publication and its date appear, and notice is given that copying is by permission of ACM, Inc. To copy otherwise, to republish, to post on servers, or to redistribute to lists, requires prior specific permission and/or a fee, SOSP-16 1 O/97 Saint-Malo, France 0 1997 ACM 0-89791-916-5/97/0010...$3.50 cost. The use of commodity operating systems leads to systems that are both reliable and compatible with the existing computing base. To demonstrate the approach, we have constructed a prototype system targeting the Stanford FLASH shared memory multiproces- sor [ 171, an experimental cache coherent non-uniform memory ar- chitecture (ccNUMA) machine. The prototype, called Disco, combines commodity operating systems not originally designed for such large-scale multiprocessors to form a high performance sys- tem software base. Disco contains many features that reduce or eliminate the problems associated with traditional virtual machine monitors. Spe- cifically, it minimizes the overhead of virtual machines and enhanc- es the resource sharing between virtual machines running on the same system. Disco allows the operating systems running on differ- ent virtual machines to be coupled using standard distributed sys- tems protocols such as NFS and TCP/IP. It also allows for efficient sharing of memory and disk resources between virtual machines. The sharing support allows Disco to maintain a global buffer cache transparently shared by all the virtual machines, even when the vir- tual machines communicate through standard distributed protocols. Our experiments with realistic workloads on a detailed simu- lator of the FLASH machine show that Disco achieves its goals. With a few simple modifications to an existing commercial operat- ing system, the basic overhead of virtualization is at most 16% for all our uniprocessor workloads. We show that a system with eight virtual machines can run some workloads 40% faster than on a commercial symmetric multiprocessor operating system by in- creasing the scalability of the system software, without substantial- ly increasing the system’s memory footprint. Finally, we show that page placement and dynamic page migration and replication allow Disco to hide the NUMA-ness of the memory system, improving the execution time by up to 37%. In Section 2, we provide a more detailed presentation of the problem being addressed. Section 3 describes an overview of the approach and the challenges of using virtual machines to construct the system software for large-scale shared-memory multiproces- sors. Section 4 presents the design and implementation of Disco and Section 5 shows experimental results. We end the paper with a discussion of related work in Section 6 and conclude in Section 7. 2 Problem Description This paper addresses the problems seen by computer vendors at- tempting to provide


View Full Document

CORNELL CS 614 - Disco: Running Commodity Operating Systems on Scalable Multiprocessors

Documents in this Course
Load more
Download Disco: Running Commodity Operating Systems on Scalable Multiprocessors
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Disco: Running Commodity Operating Systems on Scalable Multiprocessors and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Disco: Running Commodity Operating Systems on Scalable Multiprocessors 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?