Multiprocessors CS 6410 Ashik Ratnani, Cornell University.

Slides:



Advertisements
Similar presentations
Multiple Processor Systems
Advertisements

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.
Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre.
Multiple Processor Systems
Disco Running Commodity Operating Systems on Scalable Multiprocessors Presented by Petar Bujosevic 05/17/2005 Paper by Edouard Bugnion, Scott Devine, and.
The Multikernel: A new OS architecture for scalable multicore systems Andrew Baumann et al CS530 Graduate Operating System Presented by.
Introduction to Operating Systems CS-2301 B-term Introduction to Operating Systems CS-2301, System Programming for Non-majors (Slides include materials.
Tornado: Maximizing Locality and Concurrency in a Shared Memory Multiprocessor Operating System Ben Gamsa, Orran Krieger, Jonathan Appavoo, Michael Stumm.
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.
Architectural Support for Operating Systems. Announcements Most office hours are finalized Assignments up every Wednesday, due next week CS 415 section.
Disco Running Commodity Operating Systems on Scalable Multiprocessors.
Tornado: Maximizing Locality and Concurrency in a SMMP OS.
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.
Operating Systems CS208. What is Operating System? It is a program. It is the first piece of software to run after the system boots. It coordinates the.
November 1, 2004Introduction to Computer Security ©2004 Matt Bishop Slide #29-1 Chapter 33: Virtual Machines Virtual Machine Structure Virtual Machine.
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 Operating System Organization.
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.
CS533 Concepts of Operating Systems Jonathan Walpole.
Virtualization Technology Prof D M Dhamdhere CSE Department IIT Bombay Moving towards Virtualization… Department of Computer Science and Engineering, IIT.
Zen and the Art of Virtualization Paul Barham, et al. University of Cambridge, Microsoft Research Cambridge Published by ACM SOSP’03 Presented by Tina.
Computer System Architectures Computer System Software
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.
Tornado: Maximizing Locality and Concurrency in a Shared Memory Multiprocesor Operating System By: Ben Gamsa, Orran Krieger, Jonathan Appavoo, Michael.
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.
Multiple Processor Systems. Multiprocessor Systems Continuous need for faster and powerful computers –shared memory model ( access nsec) –message passing.
CSE 451: Operating Systems Section 10 Project 3 wrap-up, final exam review.
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.
Chapter 2 Parallel Architecture. Moore’s Law The number of transistors on a chip doubles every years. – Has been valid for over 40 years – Can’t.
Operating Systems CSE 411 Multi-processor Operating Systems Multi-processor Operating Systems Dec Lecture 30 Instructor: Bhuvan Urgaonkar.
Disco: Running Commodity Operating Systems on Scalable Multiprocessors Edouard Bugnion, Scott Devine, and Mendel Rosenblum Summary By A. Vincent Rayappa.
Multiple Processor Systems. Multiprocessor Systems Continuous need for faster computers –shared memory model ( access nsec) –message passing multiprocessor.
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.
Types of Operating Systems 1 Computer Engineering Department Distributed Systems Course Assoc. Prof. Dr. Ahmet Sayar Kocaeli University - Fall 2015.
MEMORY RESOURCE MANAGEMENT IN VMWARE ESX SERVER 김정수
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,
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.
Outline Why this subject? What is High Performance Computing?
Protection of Processes Security and privacy of data is challenging currently. Protecting information – Not limited to hardware. – Depends on innovation.
Tornado: Maximizing Locality and Concurrency in a Shared Memory Multiprocessor Operating System Ben Gamsa, Orran Krieger, Jonathan Appavoo, Michael Stumm.
Disco: Running Commodity Operating Systems on Scalable Multiprocessors Presented by: Pierre LaBorde, Jordan Deveroux, Imran Ali, Yazen Ghannam, Tzu-Wei.
Background Computer System Architectures Computer System Software.
Introduction Goal: connecting multiple computers to get higher performance – Multiprocessors – Scalability, availability, power efficiency Job-level (process-level)
Running Commodity Operating Systems on Scalable Multiprocessors Edouard Bugnion, Scott Devine and Mendel Rosenblum Presentation by Mark Smith.
Lecture 13 Parallel Processing. 2 What is Parallel Computing? Traditionally software has been written for serial computation. Parallel computing is the.
Lecture 13: Virtual Machines
Introduction to Virtualization
Virtual Machine Monitors
Virtual Machines Disco and Xen (Lecture 10, cs262a)
Tornado Maximizing Locality and Concurrency in a Shared Memory Multiprocessor Operating System Ben Gamsa, Orran Krieger, Jonathan Appavoo, Michael Stumm.
Definition of Distributed System
Disco: Running Commodity Operating Systems on Scalable Multiprocessors
Introduction to Operating Systems
OS Virtualization.
Advanced Operating Systems
Virtual Machines Disco and Xen (Lecture 10, cs262a)
TORNADO OPERATING SYSTEM
Shared Memory Multiprocessors
CS510 - Portland State University
Presentation transcript:

Multiprocessors CS 6410 Ashik Ratnani, Cornell University

Need for Faster Processors End of Moore’s Law? Unable to improve the processing speed of Uniprocessors.

Flynn’s Classification of Multiple processor machines *Image Source: Wikipedia

MIMD Shared Memory Model (Multiprocessors) Distributed Memory Model (Multi Computers) Uniform Memory Access (UMA) Non-Uniform Memory Access(NUMA) ccNUMAncNUMA Clusters

Multicore Multiprocessors Multiple Cores /Chip & Single PU Independent L1 cache and Shared L2 cache. Single or Multiple Cores /Chip & Multiple PUs Independent L1 cache and Independent L2 cache. Image Source: Slides of Deniz Altinbuken

Challenges for System Software Scalability Flexibility Reliability Performance

Approaches Disco Uses a Virtual Machine Monitor Page Replication & Page Migration Copy on write & Virtual subnet Tornado Designs an multiprocessor OS Uses Object Oriented Design Clustered Objects A New locking strategy Protected procedure call

DISCO: Running Commodity Operating system on Scalable Multiprocessor Edouard Bugnion, VP, Cisco Phd from Stanford, Co-Founder of VMware, key member of Sim OS, Co-Founder of “Nuova Systems” Scott Devine, Principal Engineer, VMware Phd from Stanford, Co-Founder of VMware, key member of Sim OS Mendel Rosenblum, Associate Prof, Stanford Phd from UC Berkley, Co-Founder of VMware, key member of Sim OS

Virtual Machine Monitors (VMM) Definition: VMM is a hardware virtualization techniques that allow multiple operating systems, termed guests, to run concurrently on a host computer. Classification Type 1: run directly on the host's hardware Type 2: run within a conventional operating system environment

Return of Virtual Machines Monitors Cost of development is less Less risk of introducing software bugs Flexibility to support wide variety of workloads NUMA memory management is hidden from guest OS.

Disco: Challenges Overheads Additional Execution Virtualization I/O Memory management for multiple VMs Resource Management Lack of information to make good policy decisions Communication & Sharing Interface to share memory between multiple VMs

Disco: Interface Processors – Virtual CPU Memory I/O Devices

Disco: Virtual CPUs Direct Execution on the real CPU Intercept Privileged Instructions Different Modes: Kernel Mode: Disco Supervisor Mode: Virtual Machines User Mode: Applications Physical CPU Virtual CPU Normal Computation Disco DMA

Disco: Memory Virtualization Adds a level of address translation Uses Software reloaded TLB and pmap Flushes TLB on VCPU Switch Uses second level Software TLB

Disco: Memory Management Affinity Scheduling Page Migration Page Replication memmap

Disco: I/O Virtualization Virtualizes access to I/O devices and intercepts all device access Adds device drivers in to OS Special support for Disk and Network access – Copy-on-write – Virtual Subnet Allows memory sharing between VMs agnostic of each other

Running Commodity OSes Changes for MIPS Architecture Required to relocate the unmapped segment Device Drivers Added device drivers for I/O devices. Changes to the HAL Inserted some monitor calls in the OS

Experimental Results Uses Sim OS Simulator for Evaluations

Disco: Takeaways Develop system s/w with less effort Low/Modest overhead Simple solution for Scalable Hardware Future Scope Provide Resource management mechanisms comparable to Customized Operating Systems

Tornado Maximizing Locality and Concurrency in a SMMP OS Ben Gamsa, Orran Krieger Phd from University of Toronto Jonathan Appavoo, Asistant Prof., Boston University Phd from Uni of Toronto, worked as researcher in IBM Michael Stumm, Prof, University of Toronto Works with IBM research to develop K42 OS

Locality Types of Locality Temporal Locality – If at one point in time a particular memory location is referenced, then it is likely that the same location will be referenced again in the near future. Spatial Locality – If a particular memory location is referenced at a particular time, then it is likely that nearby memory locations will be referenced in the near future.

Example: Counter

Sharing the counter requires moving it back and forth between the CPU caches Solution?? Split the counter into an array of integers Each CPU gets its own counter

Example: Counter

Using an array of counters seems to solve our problem… But what happens if both array elements map to the same cache line? False sharing Solution: Pad each array element Different elements map to different cache lines

Example: Counter

Challenges Minimize read/write and write sharing to minimize cache coherence Minimize false sharing Minimize distance between the accessing processor and target memory

Tornado’s Approach to Maximize Locality Object Oriented Structure Clustered Objects Synchronization Protected Procedure call

Object Oriented Structure Each OS resource is represented as a separate object All locks and data structures are internal to the objects This structure allows different resources to be managed without accessing shared data structures without acquiring shared locks

Clustered Objects Appear as a single object. Multiple “reps” to process object references. Uses Replication, Distribution and partitioning Benefits Allows multiprocessor optimizations Abstracts the object reference for programmers Enables incremental optimization

Clustered Objects: Implementation Uses Translation tables Per processor access to local object Global partitioned table to find rep for given object Default “miss” handler which is called by global miss handler

Synchronization Separates Locking & Existence Guarantees Locking: Encapsulate lock with in the object Uses Spin then block locks Semi-Automatic Garbage collection Ensures all persistent and temporary object reference removal Maintains list of processor having object refs

Protected Procedure call Brings locality and concurrency to IPC A PPC is a call from a client object to a server object Benefits Client requests are always serviced on their local processor Clients and servers share the CPU in a manner similar to handoff scheduling The server has one thread of control for each client request

Experimental Results Uses 16 processor NUMAchine prototype and SIM OS Simulator

Takeaways Tornado’s increased locality and concurrency has produced a scalable OS design for multiprocessors This locality was provided by several key system features An object-oriented design Clustered objects A new locking strategy Protected procedure calls

Perspective Disco Uses a Virtual Machine Page Replication & Page Migration Copy on write & Virtual subnet Tornado Designs an multiprocessor OS Uses Object Oriented Design Clustered Objects A New locking strategy Protected procedure call

Discussion