G Disco. Robert Grimm New York University

Similar documents
CS533 Concepts of Operating Systems. Jonathan Walpole

Disco: Running Commodity Operating Systems on Scalable Multiprocessors

Virtual Machines Disco and Xen (Lecture 10, cs262a) Ion Stoica & Ali Ghodsi UC Berkeley February 26, 2018

Disco: Running Commodity Operating Systems on Scalable Multiprocessors

Disco. CS380L: Mike Dahlin. September 13, This week: Disco and Exokernel. One lesson: If at first you don t succeed, try try again.

Virtual Machines. 2 Disco: Running Commodity Operating Systems on Scalable Multiprocessors([1])

Disco: Running Commodity Operating Systems on Scalable Multiprocessors

DISCO and Virtualization

Pmake NFS. Scientific App SMP OS. Thin OS DISCO PE PE PE PE PE PE PE PE. Interconnect. CC NUMA Multiprocessor

Chapter 5 (Part II) Large and Fast: Exploiting Memory Hierarchy. Baback Izadi Division of Engineering Programs

Modern systems: multicore issues

Background. IBM sold expensive mainframes to large organizations. Monitor sits between one or more OSes and HW

Virtualization and Virtual Machines. CS522 Principles of Computer Systems Dr. Edouard Bugnion

VMMS: DISCO AND XEN CS6410. Ken Birman

INFLUENTIAL OS RESEARCH

CSE 120 Principles of Operating Systems

HIVE: Fault Containment for Shared-Memory Multiprocessors J. Chapin, M. Rosenblum, S. Devine, T. Lahiri, D. Teodosiu, A. Gupta

Virtual Virtual Memory

Lecture 7. Xen and the Art of Virtualization. Paul Braham, Boris Dragovic, Keir Fraser et al. 16 November, Advanced Operating Systems

Chapter 5 B. Large and Fast: Exploiting Memory Hierarchy


Advanced Operating Systems (CS 202) Virtualization

Fast access ===> use map to find object. HW == SW ===> map is in HW or SW or combo. Extend range ===> longer, hierarchical names

Embedded Systems Dr. Santanu Chaudhury Department of Electrical Engineering Indian Institute of Technology, Delhi

Chapter 5 Large and Fast: Exploiting Memory Hierarchy (Part 2)

Virtualization. Virtualization

Last class: Today: Course administration OS definition, some history. Background on Computer Architecture

Virtual Memory. Lecture for CPSC 5155 Edward Bosworth, Ph.D. Computer Science Department Columbus State University

Architectural Support for Operating Systems

Virtual Machine Monitors (VMMs) are a hot topic in

System Virtual Machines

Xen and the Art of Virtualization. CSE-291 (Cloud Computing) Fall 2016

Architectural Support. Processes. OS Structure. Threads. Scheduling. CSE 451: Operating Systems Spring Module 28 Course Review

System Virtual Machines

Virtual Memory. Patterson & Hennessey Chapter 5 ELEC 5200/6200 1

Today s Papers. Virtual Machines Background. Why Virtualize? EECS 262a Advanced Topics in Computer Systems Lecture 19

Virtual Memory. Robert Grimm New York University

CS 350 Winter 2011 Current Topics: Virtual Machines + Solid State Drives

Virtualization, Xen and Denali

Administrative Details. CS 140 Final Review Session. Pre-Midterm. Plan For Today. Disks + I/O. Pre-Midterm, cont.

Virtual Memory: From Address Translation to Demand Paging

Lecture 21: Virtual Memory. Spring 2018 Jason Tang

Lecture 3 Memory Virtualization Larry Rudolph

Fast access ===> use map to find object. HW == SW ===> map is in HW or SW or combo. Extend range ===> longer, hierarchical names

Background. IBM sold expensive mainframes to large organiza<ons. Monitor sits between one or more OSes and HW

COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. 5 th. Edition. Chapter 5. Large and Fast: Exploiting Memory Hierarchy

Multiprocessor System. Multiprocessor Systems. Bus Based UMA. Types of Multiprocessors (MPs) Cache Consistency. Bus Based UMA. Chapter 8, 8.

Background. IBM sold expensive mainframes to large organiza<ons. Monitor sits between one or more OSes and HW

HY225 Lecture 12: DRAM and Virtual Memory

Address Translation. Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University

G Xen and Nooks. Robert Grimm New York University

Multiprocessor Systems. COMP s1

Intel s Virtualization Extensions (VT-x) So you want to build a hypervisor?

CS 333 Introduction to Operating Systems. Class 11 Virtual Memory (1) Jonathan Walpole Computer Science Portland State University

Computer Architecture Computer Science & Engineering. Chapter 5. Memory Hierachy BK TP.HCM

24-vm.txt Mon Nov 21 22:13: Notes on Virtual Machines , Fall 2011 Carnegie Mellon University Randal E. Bryant.

COMPUTER ARCHITECTURE. Virtualization and Memory Hierarchy

Cache Coherence. CMU : Parallel Computer Architecture and Programming (Spring 2012)

CS-736 Midterm: Beyond Compare (Spring 2008)

I/O virtualization. Jiang, Yunhong Yang, Xiaowei Software and Service Group 2009 虚拟化技术全国高校师资研讨班

Virtual Machines. Part 1: 54 years ago. Operating Systems In Depth VIII 1 Copyright 2018 Thomas W. Doeppner. All rights reserved.

Virtualization. Pradipta De

Non-uniform memory access machine or (NUMA) is a system where the memory access time to any region of memory is not the same for all processors.

Note Takers: Chau, Bao Kham (cs162-bb) and Quang Tran (cs162-bc) Topic: Real time system


Review: Hardware user/kernel boundary

Interconnect Routing

G Virtual Memory. Robert Grimm New York University

VIRTUAL MEMORY II. Jo, Heeseung

Multiprocessor Systems. Chapter 8, 8.1

Virtualization and memory hierarchy

Introduction to Operating Systems Prof. Chester Rebeiro Department of Computer Science and Engineering Indian Institute of Technology, Madras

CSCE 410/611: Virtualization!

Multiprocessor Scheduling. Multiprocessor Scheduling

Memory Management. To improve CPU utilization in a multiprogramming environment we need multiple programs in main memory at the same time.

Chapter 5. Large and Fast: Exploiting Memory Hierarchy

Parallel SimOS: Scalability and Performance for Large System Simulation

CS 152 Computer Architecture and Engineering

Nested Virtualization and Server Consolidation

2 nd Half. Memory management Disk management Network and Security Virtual machine

Distributed File Systems Issues. NFS (Network File System) AFS: Namespace. The Andrew File System (AFS) Operating Systems 11/19/2012 CSC 256/456 1

Modeling Page Replacement: Stack Algorithms. Design Issues for Paging Systems

Lecture 24: Virtual Memory, Multiprocessors

COS 318: Operating Systems. Virtual Machine Monitors

Chapter 1: Introduction. Operating System Concepts 9 th Edit9on

CS 550 Operating Systems Spring Introduction to Virtual Machines

Computer Organization and Structure. Bing-Yu Chen National Taiwan University

Multiple Processor Systems. Lecture 15 Multiple Processor Systems. Multiprocessor Hardware (1) Multiprocessors. Multiprocessor Hardware (2)

Non-Uniform Memory Access (NUMA) Architecture and Multicomputers

Multiprocessor Cache Coherence. Chapter 5. Memory System is Coherent If... From ILP to TLP. Enforcing Cache Coherence. Multiprocessor Types

Storage. Hwansoo Han

OS Virtualization. Why Virtualize? Introduction. Virtualization Basics 12/10/2012. Motivation. Types of Virtualization.

Shared Memory and Distributed Multiprocessing. Bhanu Kapoor, Ph.D. The Saylor Foundation

Portland State University ECE 588/688. Directory-Based Cache Coherence Protocols

Knut Omang Ifi/Oracle 6 Nov, 2017

Non-Uniform Memory Access (NUMA) Architecture and Multicomputers

A Survey on Virtualization Technologies

Spring 2017 :: CSE 506. Introduction to. Virtual Machines. Nima Honarmand

Chapter 5. Multiprocessors and Thread-Level Parallelism

Virtualization. Operating Systems, 2016, Meni Adler, Danny Hendler & Amnon Meisels

Transcription:

G22.3250-001 Disco Robert Grimm New York University

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)! Traps 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

Virtual I/O Devices! Specialized interface for common devices! Special drivers for guest OS s! 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?