G22.3250-001 Robert Grimm New York University Disco.

Slides:



Advertisements
Similar presentations
Virtualization Technology
Advertisements

G Robert Grimm New York University Virtual Memory.
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.
Disco: Running Commodity Operating Systems on Scalable Multiprocessors Bugnion et al. Presented by: Ahmed Wafa.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 2: Computer-System Structures Computer System Operation I/O Structure Storage.
Disco Running Commodity Operating Systems on Scalable Multiprocessors.
OS Spring’03 Introduction Operating Systems Spring 2003.
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.
1 OS & Computer Architecture Modern OS Functionality (brief review) Architecture Basics Hardware Support for OS Features.
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. Introduction  Challenges to build virtual machines Performance isolation  Scheduling priority  Memory demand  Network.
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.
2017/4/21 Towards Full Virtualization of Heterogeneous Noc-based Multicore Embedded Architecture 2012 IEEE 15th International Conference on Computational.
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)
CS533 Concepts of Operating Systems Jonathan Walpole.
Virtualization Paul Krzyzanowski Distributed Systems Except as otherwise noted, the content of this presentation is licensed.
CSE 451: Operating Systems Section 10 Project 3 wrap-up, final exam review.
Kinshuk Govil, Dan Teodosiu*, Yongqiang Huang, and Mendel Rosenblum
Xen and The Art of Virtualization Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, Ian Pratt & Andrew Warfield.
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.
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.
Virtualisation Front Side Buses SMP systems COMP Jamie Curtis.
1 CSE451 Architectural Supports for Operating Systems Autumn 2002 Gary Kimura Lecture #2 October 2, 2002.
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,
6.894: Distributed Operating System Engineering Lecturers: Frans Kaashoek Robert Morris
Protection of Processes Security and privacy of data is challenging currently. Protecting information – Not limited to hardware. – Depends on innovation.
OSes: 2. Structs 1 Operating Systems v Objective –to give a (selective) overview of computer system architectures Certificate Program in Software Development.
Disco: Running Commodity Operating Systems on Scalable Multiprocessors Presented by: Pierre LaBorde, Jordan Deveroux, Imran Ali, Yazen Ghannam, Tzu-Wei.
Cloud Computing – UNIT - II. VIRTUALIZATION Virtualization Hiding the reality The mantra of smart computing is to intelligently hide the reality Binary->
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.
Introduction to Virtualization
Virtualization.
Virtual Machine Monitors
Virtualization Technology
Virtual Machines Disco and Xen (Lecture 10, cs262a)
Xen and the Art of Virtualization
Chapter 2: Computer-System Structures(Hardware)
Chapter 2: Computer-System Structures
CS352H: Computer Systems Architecture
Lecture 24 Virtual Machine Monitors
Disco: Running Commodity Operating Systems on Scalable Multiprocessors
OS Virtualization.
Virtual Machines Disco and Xen (Lecture 10, cs262a)
Translation Buffers (TLB’s)
Shared Memory Multiprocessors
CSE 451: Operating Systems Autumn Module 24 Virtual Machine Monitors
CSE 471 Autumn 1998 Virtual memory
Chapter 2: Computer-System Structures
Chapter 2: Computer-System Structures
Xen and the Art of Virtualization
Review What are the advantages/disadvantages of pages versus segments?
Presentation transcript:

G Robert Grimm New York University Disco

The Three Questions  What is the problem?  What is new or different?  What are the contributions and limitations?

Background: ccNUMA  Cache-coherent non-uniform memory architecture  Multi-processor with high-performance interconnect  Non-uniform memory  Global address space  But memory distributed amongst processing elements  Cache-coherence  Issue: How to ensure that memory in processor caches is consistent  Solutions: Bus snooping, directory  Targeted system: FLASH, Stanford’s own ccNUMA

The Challenge  Commodity OS’s not well-suited for ccNUMA  Do not scale  Lock contention, memory architecture  Do not isolate/contain faults  More processors  more failures  Customized operating systems  Take time to build, lag hardware  Cost a lot of money

The Disco Solution  Add a virtual machine monitor (VMM)  Commodity OS’s run in their own virtual machines (VMs)  Communicate through distributed protocols  VMM uses global policies to manage resources  Move memory between VMs to avoid paging  Schedules virtual processors to balance load

Virtual Machines: Challenges  Overheads  Instruction execution, exception processing, I/O  Memory  Code and data of hosted operating systems  Replicated buffer caches  Resource management  Lack of information  Idle loop, lock busy-waiting  Page usage  Communication and sharing  Not really a problem anymore b/c of distributed protocols

Disco in Detail

Interface  MIPS R10000 processor  All instructions, the MMU, trap architecture  Extension to support common operations through memory  Enabling/disabling interrupts, accessing privileged registers  Physical memory  Contiguous, starting at address 0  I/O devices  Virtual devices exclusive to VM  Physical devices multi-plexed by Disco  Special abstractions for SCSI disks and network interfaces  Virtual subnet across all virtual machines

Virtual CPUs  Three modes  Kernel mode: Disco  Provides full access to hardware  Supervisor mode: Guest operating system  Provides access to special memory segment (used for optimizations)  User mode: Applications  Emulation by direct execution  Not for privileged instructions, direct access to physical memory and I/O devices  Emulated in VMM  Recorded in per VM data structure (registers, TLB contents)  Some traps (syscall, page fault) handled by guest OS’s trap handlers

Virtual Physical Memory  Adds level of translation: Physical-to-machine  Performed in software-reloaded TLB  Based on pmap data structure: Entry per physical page  Requires changes in IRIX memory layout  Flushes TLB when scheduling different virtual CPUs  MIPS TLB is tagged (address space ID)  Avoids virtualizing ASIDs  Increases number of misses, but adds software TLB  Guest operating system also mapped through TLB  TLB is flushed on virtual CPU switches  Virtualization introduces overhead

NUMA Memory Management  Heavily accessed pages moved to using node  Read-only shared pages duplicated across nodes  Based on cache miss counting facility of FLASH  Supported by memmap data structure  Entry per machine page  Points to virtual machines & addresses using page, also copies

Virtual I/O Devices  Specialized interface for common devices  Special drivers for guest OS’s: rely on single trap  DMA requests are modified  Physical to machine memory  Copy-on-write disks  Remap pages that are already in memory  Decreases memory overhead, speeds up access

Virtual Network Interface  Issue: Different VMs communicate through standard distributed protocols (here, NFS)  May lead to duplication of data in memory  Solution: Virtual subnet  Ethernet-like addresses, no maximum transfer unit  Read-only mapping instead of copying  Supports scatter/gather  What about NUMA?

Running Commodity Operating Systems  IRIX 5.3  Changed memory layout to make all pages mapped  Device drivers for special I/O devices  Disco’s drivers are the same as IRIX’s. Sound familiar?  Patched HAL to use memory loads/stores instead of privileged instructions  Added new calls  To request zeroed-out memory pages  To inform Disco that page has been freed  Changed mbuf management to be page-aligned  Changed bcopy to use remap (with copy-on-write)

Evaluation

Experimental methodology  FLASH machine “unfortunately not yet available”  Use SimOS  Models hardware in enough detail to run unmodified OS  Supports different levels of accuracy, checkpoint/restore  Workloads  pmake, engineering, scientific computing, database

Execution Overheads  Uniprocessor configuration comparing Irix & Disco  Disco overheads between 3% and 16% (!)  Mostly due to trap emulation and TLB reload misses

Diggin’ Deeper  What does this table tell us?  What is the problem with entering/exiting the kernel?  What is the problem with placing the OS into mapped memory?

Memory Overheads  Workload: Eight instances of basic pmake  Memory partitioned across virtual machines  NFS configuration uses more memory than available

Scalability  IRIX: High synchronization and memory overheads  memlock: spinlock for memory management data structures  Disco: Partitioning reduces overheads  What about RADIX experiment?

Page Migration and Replication  What does this figure tell us?

What Do You Think?