CS533 Concepts of Operating Systems Jonathan Walpole.

Slides:



Advertisements
Similar presentations
Virtualization Technology
Advertisements

E Virtual Machines Lecture 3 Memory Virtualization
Disco: Running Commodity Operation Systems on Scalable Multiprocessors E Bugnion, S Devine, K Govil, M Rosenblum Computer Systems Laboratory, Stanford.
1 Disco: Running Commodity Operating Systems on Scalable Multiprocessors Edouard Bugnion, Scott Devine, Mendel Rosenblum, Stanford University, 1997 Presented.
Disco Running Commodity Operating Systems on Scalable Multiprocessors Presented by Petar Bujosevic 05/17/2005 Paper by Edouard Bugnion, Scott Devine, and.
Multiprocessors CS 6410 Ashik Ratnani, Cornell University.
Shared Memory Multiprocessors Ravikant Dintyala. Trends Higher memory latencies Large write sharing costs Large secondary caches NUMA False sharing of.
CS-3013 & CS-502, Summer 2006 Virtual Machine Systems1 CS-502 Operating Systems Slides excerpted from Silbershatz, Ch. 2.
Disco: Running Commodity Operating Systems on Scalable Multiprocessors Bugnion et al. Presented by: Ahmed Wafa.
G Robert Grimm New York University Disco.
CS533 Concepts of Operating Systems Class 14 Virtualization.
Xen and the Art of Virtualization A paper from the University of Cambridge, presented by Charlie Schluting For CS533 at Portland State University.
Disco Running Commodity Operating Systems on Scalable Multiprocessors.
Disco Running Commodity Operating Systems on Scalable Multiprocessors.
1 Disco: Running Commodity Operating Systems on Scalable Multiprocessors Edouard Bugnion, Scott Devine, and Mendel Rosenblum, Stanford University, 1997.
1 Last Class: Introduction Operating system = interface between user & architecture Importance of OS OS history: Change is only constant User-level Applications.
November 1, 2004Introduction to Computer Security ©2004 Matt Bishop Slide #29-1 Chapter 33: Virtual Machines Virtual Machine Structure Virtual Machine.
CS533 Concepts of OS Class 16 ExoKernel by Constantia Tryman.
1 OS & Computer Architecture Modern OS Functionality (brief review) Architecture Basics Hardware Support for OS Features.
Virtualization for Cloud Computing
Virtual Machine Monitors CSE451 Andrew Whitaker. Hardware Virtualization Running multiple operating systems on a single physical machine Examples:  VMWare,
Multiprocessors Deniz Altinbuken 09/29/09.
Xen and the Art of Virtualization Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, Ian Pratt, Andrew Warfield.
CSE598C Virtual Machines and Their Applications Operating System Support for Virtual Machines Coauthored by Samuel T. King, George W. Dunlap and Peter.
Tanenbaum 8.3 See references
Zen and the Art of Virtualization Paul Barham, et al. University of Cambridge, Microsoft Research Cambridge Published by ACM SOSP’03 Presented by Tina.
Cellular Disco: resource management using virtual clusters on shared memory multiprocessors Published in ACM 1999 by K.Govil, D. Teodosiu,Y. Huang, M.
Microkernels, virtualization, exokernels Tutorial 1 – CSC469.
Disco : Running commodity operating system on scalable multiprocessor Edouard et al. Presented by Jonathan Walpole (based on a slide set from Vidhya Sivasankaran)
Operating System Review September 10, 2012Introduction to Computer Security ©2004 Matt Bishop Slide #1-1.
Operating System Support for Virtual Machines Samuel T. King, George W. Dunlap,Peter M.Chen Presented By, Rajesh 1 References [1] Virtual Machines: Supporting.
Virtualization Concepts Presented by: Mariano Diaz.
Virtual Machine Monitors: Technology and Trends Jonathan Kaldor CS614 / F07.
Kit Cischke 09/09/08 CS Overview  Background  What are we doing here?  A Return to Virtual Machine Monitors  What does Disco do?  Disco: A.
Our work on virtualization Chen Haogang, Wang Xiaolin {hchen, Institute of Network and Information Systems School of Electrical Engineering.
CS533 Concepts of Operating Systems Jonathan Walpole.
Disco: Running Commodity Operating Systems on Scalable Multiprocessors Edouard Bugnion, Scott Devine, and Mendel Rosenblum Summary By A. Vincent Rayappa.
Disco: Running Commodity Operating Systems on Scalable Multiprocessors Edouard et al. Madhura S Rama.
Supporting Multi-Processors Bernard Wong February 17, 2003.
 Virtual machine systems: simulators for multiple copies of a machine on itself.  Virtual machine (VM): the simulated machine.  Virtual machine monitor.
Disco : Running commodity operating system on scalable multiprocessor Edouard et al. Presented by Vidhya Sivasankaran.
Introduction to virtualization
Full and Para Virtualization
Lecture 26 Virtual Machine Monitors. Virtual Machines Goal: run an guest OS over an host OS Who has done this? Why might it be useful? Examples: Vmware,
Lecture 12 Virtualization Overview 1 Dec. 1, 2015 Prof. Kyu Ho Park “Understanding Full Virtualization, Paravirtualization, and Hardware Assist”, White.
1 Lecture 1: Computer System Structures We go over the aspects of computer architecture relevant to OS design  overview  input and output (I/O) organization.
Protection of Processes Security and privacy of data is challenging currently. Protecting information – Not limited to hardware. – Depends on innovation.
Disco: Running Commodity Operating Systems on Scalable Multiprocessors Presented by: Pierre LaBorde, Jordan Deveroux, Imran Ali, Yazen Ghannam, Tzu-Wei.
CSE 451: Operating Systems Winter 2015 Module 25 Virtual Machine Monitors Mark Zbikowski Allen Center 476 © 2013 Gribble, Lazowska,
Cloud Computing – UNIT - II. VIRTUALIZATION Virtualization Hiding the reality The mantra of smart computing is to intelligently hide the reality Binary->
Memory Resource Management in VMware ESX Server By Carl A. Waldspurger Presented by Clyde Byrd III (some slides adapted from C. Waldspurger) EECS 582 –
Presented by: Sagnik Bhattacharya Kingshuk Govil, Dan Teodosiu, Yongjang Huang, Mendel Rosenblum.
Running Commodity Operating Systems on Scalable Multiprocessors Edouard Bugnion, Scott Devine and Mendel Rosenblum Presentation by Mark Smith.
Cellular Disco Resource management using virtual clusters on shared-memory multiprocessors.
Translation Lookaside Buffer
Virtualization.
Virtual Machine Monitors
Virtualization Technology
Virtual Machines Disco and Xen (Lecture 10, cs262a)
CS352H: Computer Systems Architecture
Lecture 24 Virtual Machine Monitors
Disco: Running Commodity Operating Systems on Scalable Multiprocessors
OS Virtualization.
Chapter 33: Virtual Machines
Virtual Machines Disco and Xen (Lecture 10, cs262a)
Shared Memory Multiprocessors
CSE 451: Operating Systems Autumn Module 24 Virtual Machine Monitors
Xen and the Art of Virtualization
CSE 451: Operating Systems Autumn Module 24 Virtual Machine Monitors
Chapter 33: Virtual Machines
Presentation transcript:

CS533 Concepts of Operating Systems Jonathan Walpole

Disco : Running Commodity Operating Systems on Scalable Multiprocessors

Outline Goal Problems and solutions Virtual Machine Monitors(VMM) Disco architecture Disco implementation Experimental results Conclusion

Goal -Low cost development of OS for SMMP hardware -Use existing OS and application code base -Utilize Virtual Machine Monitor (VMM) concepts -Run multiple copies of an OS on a scalable multiprocessor

Problems -Systems software for scalable multi-processors lags far behind the hardware -Extensive custom modifications to OS are needed -Work is implementation intensive and affects reliability -Backwards compatibility is important

Solution -Insert a Virtual Machine Monitor (VMM) between existing OS code and new hardware -The VMM described in this paper is called Disco -Disco is a precursor to VMware

Virtual Machine Monitors -VMM is a software layer -It virtualizes all system resources -It does not abstract resources -It exports a conventional hardware interface -What does that mean? -Many OS instances run concurrently on the same hardware -They think they each have their own real machine -They are protected from each other -They communicate using Internet protocols -But doesn’t this approach imply a lot of overhead? -And what’s the benefit?

Disco Architecture

Advantages Scalability -Allows use of scalable hardware by multiple non-scalable OS’s -A large shared memory multiprocessor looks like a network of smaller machines Fault containment -Even though they are on the same physical hardware they are protected from each other Avoid NUMAness -Non-uniformity of memory can be hidden by the VMM Flexibility -Can run existing OS code unmodified or new specialized OS code

Challenges Overhead -Isn’t there a lot of replication of OS code and data? Resource management -Does the underlying VMM have enough information to make good decisions? Communication and sharing -VMMs used to be independent -Now they can use Internet protocols to talk to each other

Disco Implementation The VMM is a concurrent shared memory program Attention given to NUMA and cache-aware data structures -Code segment of disco is replicated in local memory of each processor Communication (via Internet protocols) uses shared memory

Virtual CPU -Disco emulates the execution of each virtual CPU by using direct execution on the real CPU -Disco sets the registers of the real CPU to those of the virtual CPU and jumps to the current PC -The state for each virtual CPU is kept in a data structure (like a process control block) -Each virtual CPU of Disco exports a MIPS R10000 processor

Virtual CPU -Disco runs in privileged mode -All OS code runs in non-privileged mode -So how can OS code execute privileged instructions? -Attempts to execute privileged instructions trap to Disco -Disco executes them on behalf of the OS -Access is restricted to that OS’s VM resources

Virtual Physical memory -Each VM has its own physical pages, but they are not necessarily contiguous -Each OS thinks it has access to contiguous physical memory starting at address 0 -Disco keeps track of the mapping between real memory addresses and each OS’s physical memory addresses using a pmap structure -When OS tries to insert a virtual-physical address mapping in the TLB, Disco intercepts this (because updating the TLB is privileged) and inserts the real memory address in place of the physical address. -The TLB does the actual address translation at normal speed

Continued.. -In OSs designed for the MIPS processor, kernel memory references bypass the TLB and directly access memory -Kernel runs in “physical addressing mode” -This would violate VM protection -Need to relink OS code and data to run in virtual addressing mode -Workload execution on top of Disco suffers from increased TLB misses -Switching VMs requires flushing TLB -Switching from application to guest OS requires flushing TLB -A large software TLB can lessen the performance impact

NUMA Memory Management On a cache coherent NUMA machine the system will work correctly regardless of where data is placed in memory. -ideally, cache misses should be satisfied from local memory -Disco implements dynamic page replication and migration to build the illusion of a UMA machine on a NUMA machine Page Migration -Heavily accessed pages by one node are migrated to that node -Disco transparently changes the physical-machine address mapping -Invalidates the TLB entry mapping the old machine page then copies the data to the new, local page

Continued.. Page Replication -For pages that are frequently accessed using reads by multiple nodes -Downgrade the TLB entry of the machine page to read-only and then copy the page to local node and update its TLB entry -Disco maintains a data structure, called memmap, with entries for each real machine memory page

Page Replication Disco uses physical to machine mapping to replicate the pages.Virtual page from both cpu of same virtual machine map the same physical page of their virtual machine.Disco transparently maps each virtual page to machine page replica that is located local to the node.

Virtual I/O devices -To virtualize I/O devices Disco intercepts all device accesses from a virtual machine and passes them to physical devices -Rather than interposing on traps, Disco requires device drivers to use a special interface that calls Disco Naïve (expensive, but transparent) approach: 1.VM executes instruction to access I/O 2.Trap generated by CPU (based on memory or privilege protection) transfers control to VMM. 3.VMM emulates I/O instruction, saving information about where this came from

Copy on Write Disk Disk reads can be serviced by monitor, if request size is multiple of machine page size, then monitor has to remap the machine pages into VM physical memory. Pages are read only and an attempt to modify will generate copy on write fault handled by monitor. Read only pages are are brought in from disk can be transparently shared between virtual machines.This creates global buffer shared across virtual machine and helps to reduce memory foot prints.

Virtual N/W Interface 1)monitors n/w device remap data page from source machine address to destination machine address. 2)monitor remap the data page from drivers mbuf to client buffer cache.

Execution Overhead Experimented on a uni- processor, once running IRIX directly on the h/w and once using disco running IRIX in a single virtual machine Overhead of virtualization ranges from 3% - 16%.

Memory Overhead Ran single workload of eight different instances of pmake with six different system configurations Effective sharing of kernel text and buffer cache limits the memory overheads of multiple VM’s

Scalability Ran pmake workload under six configurations IRIX Suffers from high synchronization overheads Using a single VM has a high overhead. When increased to 8 VM’s execution time reduced to 60%

NUMA Performance of UMA machine determines the lower bound for the execution time of NUMA machine Achieves significant performance improvement by enhancing the memory locality.

Conclusion -Developed system software for scalable shared memory multiprocessors without massive development efforts... and soon after founded VMWare and made lots of money … -Results show that overhead of virtualization is modest -Provides solution for NUMA management