Tessellation: Space-Time Partitioning in a Manycore Client OS Rose Liu 1,2, Kevin Klues 1, Sarah Bird 1, Steven Hofmeyr 3, Krste Asanovic 1, John Kubiatowicz.

Slides:



Advertisements
Similar presentations
1 Hardware Support for Isolation Krste Asanovic U.C. Berkeley MURI “DHOSA” Site Visit April 28, 2011.
Advertisements

Chorus and other Microkernels Presented by: Jonathan Tanner and Brian Doyle Articles By: Jon Udell Peter D. Varhol Dick Pountain.
CHAPTER 5 THREADS & MULTITHREADING 1. Single and Multithreaded Processes 2.
CS 5204 – Operating Systems 1 Scheduler Activations.
Secure web browsers, malicious hardware, and hardware support for binary translation Sam King.
Extensibility, Safety and Performance in the SPIN Operating System Department of Computer Science and Engineering, University of Washington Brian N. Bershad,
Contiki A Lightweight and Flexible Operating System for Tiny Networked Sensors Presented by: Jeremy Schiff.
W4118 Operating Systems OS Overview Junfeng Yang.
Dawson R. Engler, M. Frans Kaashoek, and James O'Tool Jr.
Figure 1.1 Interaction between applications and the operating system.
Operating System Organization
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 Operating System Organization.
Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access memory.
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3.
MULTICOMPUTER 1. MULTICOMPUTER, YANG DIPELAJARI Multiprocessors vs multicomputers Interconnection topologies Switching schemes Communication with messages.
Basics of Operating Systems March 4, 2001 Adapted from Operating Systems Lecture Notes, Copyright 1997 Martin C. Rinard.
Dreams in a Nutshell Steven Sommer Microsoft Research Institute Department of Computing Macquarie University.
Windows Server 2008 R2 CSIT 320 (Blum) 1. Server Consolidation – Today’s chips have enhanced capabilities compared to those of the past. In particular.
File Systems and N/W attached storage (NAS) | VTU NOTES | QUESTION PAPERS | NEWS | VTU RESULTS | FORUM | BOOKSPAR ANDROID APP.
Chapter 51 Threads Chapter 5. 2 Process Characteristics  Concept of Process has two facets.  A Process is: A Unit of resource ownership:  a virtual.
Chapter 3.1:Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access.
Computer Organization Review and OS Introduction CS550 Operating Systems.
Chapter 8 Windows Outline Programming Windows 2000 System structure Processes and threads in Windows 2000 Memory management The Windows 2000 file.
Ceng Operating Systems
Computer System Architectures Computer System Software
UNIX System Administration OS Kernal Copyright 2002, Dr. Ken Hoganson All rights reserved. OS Kernel Concept Kernel or MicroKernel Concept: An OS architecture-design.
CS533 Concepts of Operating Systems Jonathan Walpole.
Midori Life after windows Microsoft Research’s. Singularity  Midori is a stem off of this operating system  A research project started in 2003 to build.
Tessellation: Refactoring the OS around explicit resource containers with continuous adaptation 1 張力升 Dept. of Electrical Engineering National Cheng Kung.
1 Hardware Security Mechanisms Krste Asanovic U.C. Berkeley August 20, 2009.
Cosc 4010 Sandboxing. Last lecture Last time, we covered chroot, which is a method to "sandbox" a problem. –Not full proof by any means. Many simple mistakes.
CSE 451: Operating Systems Section 10 Project 3 wrap-up, final exam review.
Operating Systems ECE344 Ashvin Goel ECE University of Toronto OS Design.
A Real-Time, Parallel GUI Service in Tesselation OS Albert Kim, Juan A. Colmenares, Hilfi Alkaff, and John Kubiatowicz Par Lab, UC Berkeley.
4P13 Week 1 Talking Points. Kernel Organization Basic kernel facilities: timer and system-clock handling, descriptor management, and process Management.
OS 2020: Slide 1December 6 th, 2011Swarm Lab Opening Tessellation OS: an OS for the Swarm John Kubiatowicz
Operating Systems David Goldschmidt, Ph.D. Computer Science The College of Saint Rose CIS 432.
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3.
© 2004 IBM Corporation IBM ^ z/VM Design considerations > Security > Performance (SIE)
Issues Autonomic operation (fault tolerance) Minimize interference to applications Hardware support for new operating systems Resource management (global.
Chapter 8-2 : Multicomputers Multiprocessors vs multicomputers Multiprocessors vs multicomputers Interconnection topologies Interconnection topologies.
I/O Computer Organization II 1 Interconnecting Components Need interconnections between – CPU, memory, I/O controllers Bus: shared communication channel.
Numerical Libraries Project Microsoft Incubation Group Mary Beth Hribar Microsoft Corporation CSCAPES Workshop June 10, 2008 Copyright Microsoft Corporation,
Processes Introduction to Operating Systems: Module 3.
Scott Ferguson Section 1
CS 346 – Chapter 2 OS services –OS user interface –System calls –System programs How to make an OS –Implementation –Structure –Virtual machines Commitment.
Real-Time Musical Applications On An Experimental OS For Multi-Core Processors 林鼎原 Department of Electrical Engineering National Cheng Kung University.
Energy-Aware Resource Adaptation in Tessellation OS 3. Space-time Partitioning and Two-level Scheduling David Chou, Gage Eads Par Lab, CS Division, UC.
Full and Para Virtualization
Chapter 2 Operating System Overview Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
Backup Exec System Recovery. 2 Outline Introduction Challenges Solution Implementation Results Recommendations Q & A.
CENG334 Introduction to Operating Systems 1 Erol Sahin Dept of Computer Eng. Middle East Technical University Ankara, TURKEY URL:
Tessellation: Space-Time Partitioning in a Manycore Client OS 林鼎原 Department of Electrical Engineering National Cheng Kung University Tainan, Taiwan, R.O.C.
Major OS Components CS 416: Operating Systems Design, Spring 2001 Department of Computer Science Rutgers University
B ERKELEY P AR L AB 1 Lithe: Enabling Efficient Composition of Parallel Libraries Heidi Pan, Benjamin Hindman, Krste Asanović HotPar  Berkeley, CA  March.
E Virtual Machines Lecture 1 What is Virtualization? Scott Devine VMware, Inc.
CSCI/CMPE 4334 Operating Systems Review: Exam 1 1.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
1.3 Operating system services An operating system provide services to programs and to the users of the program. It provides an environment for the execution.
Towards a High Performance Extensible Grid Architecture Klaus Krauter Muthucumaru Maheswaran {krauter,
Introduction to Operating Systems Concepts
Computer System Structures
Operating System & Application Software
Agenda Hardware Virtualization Concepts
Page Replacement.
Lecture Topics: 11/1 General Operating System Concepts Processes
Operating Systems: A Modern Perspective, Chapter 3
Operating Systems Structure
Chapter-1 Computer is an advanced electronic device that takes raw data as an input from the user and processes it under the control of a set of instructions.
CSE 451: Operating Systems Autumn Module 24 Virtual Machine Monitors
Presentation transcript:

Tessellation: Space-Time Partitioning in a Manycore Client OS Rose Liu 1,2, Kevin Klues 1, Sarah Bird 1, Steven Hofmeyr 3, Krste Asanovic 1, John Kubiatowicz 1 1 Parallel Computing Laboratory, UC Berkeley 2 Data Domain 3 Lawrence Berkeley National Laboratory

Client Device Single-user device Runs a heterogeneous mix of interactive, real-time and batch applications simultaneously Generally battery constrained

Why a new Client OS? Enter the Manycore world  Must address parallelism  Current client OSs weren’t designed for parallel applications Existing OSs addressing parallelism targets servers or HPC contexts, not clients  Servers – emphasis on throughput vs.  Client – emphasis on user experience/responsiveness  HPC – machine dedicated to one parallel application vs.  Client – runs many heterogeneous parallel applications  Client - Longer battery life

Outline Why a new OS for Manycore Clients? A Case for Space-time Partitioning  Define space-time partitioning  Use cases for space-time partitioning Implementing Space-Time Partitioning in a Manycore OS Status

Spatial Partitions 5 Memory Radio Isolated unit containing a subset of physical machine resources

Spatial Partitions 6 Memory Radio Isolated unit containing a subset of physical machine resources

Spatial Partitions 7 Memory Radio Isolated unit containing a subset of physical machine resources

Spatial Partitions 8 Memory Radio Isolated unit containing a subset of physical machine resources QoS enforced share of interconnect bandwidth

Spatial Partitions 9 Memory Radio Isolated unit containing a subset of physical machine resources Energy or Power Budget

Machine divided into spatial partitions 10 Wireless radio Memory

Put applications in spatial partitions 11 Radio Memory Media Player Browser

Benefits of spatial partitions 12 Radio Memory Media Player Browser Each app can run a custom user-level runtime for best performance Provides apps with resource guarantees for performance predictability Functional & Performance Isolation Natural unit for fault containment, energy management

Put OS Services in spatial partitions 13 Wireless radio Memory Media Player Network Driver Filesystem Browser

Put sub-components in spatial partitions 14 Wireless radio Memory Media PlayerNetwork Driver Filesystem Browser Video decoder GUI

Put virtual machines in spatial partitions 15 Wireless radio Memory Media PlayerNetwork Driver Filesystem Browser Video decoder GUI Windows VM

Partitions need to communicate 16 Wireless radio Memory Media PlayerNetwork Driver Filesystem Browser Video decoder GUI Windows VM Spatial Communication occurs without a context switch

Communication Challenges 17 Wireless radio Memory Media PlayerNetwork Driver Filesystem Browser Video decoder GUI Windows VM Communication relaxes the isolation boundaries of partitions and introduces issues like: Security Service-level QoS and/or resource accounting of requestors within service partitions

Space-time partitioning virtualizes spatial partitions 18 Wireless radio Memory Media PlayerNetwork Driver Filesystem Browser Video decoder GUI Windows VM De-scheduled Partitions Partition Context Switch Cost ~ Process Context Switch Cost Time multiplex at a coarse granularity to allow for user-level scheduling

Space-Time Partition Scheduling Time Partition resources put in low power state Descheduled Partitions: Real-time app is always scheduled Partitions are dynamically resized while running without a reboot or application restart

Space-Time Partition Scheduling Time Descheduled Partitions: Challenges: 1. How to determine the right resource allocation for a partition? 2. What granularity to time multiplex each partition? Don’t need to use same time quanta for all partitions. 3. We can deschedule partitions from each type of resource independently. E.g. time multiplex off cores more frequently than multiplex partition data off caches. How to determine ‘best’ policy? … Partitions are dynamically resized while running without a reboot or application restart

Communication in space and time 21 Wireless radio Memory Media PlayerNetwork Driver Filesystem Browser Video decoder GUI Windows VM De-scheduled Partitions

Outline Why a new OS for Manycore Clients? A Case for Space-time Partitioning Implementing Space-Time Partitioning in a Manycore OS (Tessellation) Status

Tessellation OS 23 Wireless radio Memory Media PlayerNetwork Driver Filesystem Browser Video decoder GUI Windows VM De-scheduled Partitions Video Driver Virus Checker USB Driver

Tessellation Kernel 24 Hardware Partitioning Mechanisms CPUs Physical Memory Interconnect Bandwidth Cache Performance Counters Application Or OS Service Custom Scheduler Library OS Functionality Message Passing

Tessellation Kernel 25 Hardware Partitioning Mechanisms CPUs Physical Memory Interconnect Bandwidth Cache Performance Counters Application Or OS Service Custom Scheduler Library OS Functionality Message Passing Marshalls syscalls into messages for the respective OS Service Partition App-specific scheduler for best parallel performance. (See Lithe talk on user-level scheduling.)

Tessellation Kernel 26 Tessellation Kernel Hardware Partitioning Mechanisms CPUs Physical Memory Interconnect Bandwidth Cache Performance Counters Application Or OS Service Custom Scheduler Library OS Functionality Message Passing

Tessellation Kernel 27 Tessellation Kernel Partition Management Layer Hardware Partitioning Mechanisms CPUs Physical Memory Interconnect Bandwidth Cache Performance Counters Partition Mechanism Layer (Trusted) Application Or OS Service Custom Scheduler Library OS Functionality Message Passing

Partition Mechanism Layer 28 Tessellation Kernel Partition Management Layer Hardware Partitioning Mechanisms CPUs Physical Memory Interconnect Bandwidth Cache Performance Counters Partition Mechanism Layer (Trusted) Application Or OS Service Custom Scheduler Library OS Functionality Configure Partition Resources enforced by HW at runtime Message Passing

Partition Mechanism Layer 29 Tessellation Kernel Partition Management Layer Hardware Partitioning Mechanisms CPUs Physical Memory Interconnect Bandwidth Cache Performance Counters Partition Mechanism Layer (Trusted) Application Or OS Service Custom Scheduler Library OS Functionality Configure HW-supported Communication Message Passing Configure Partition Resources enforced by HW at runtime

Partition Management Layer 30 Tessellation Kernel Partition Management Layer Hardware Partitioning Mechanisms CPUs Physical Memory Interconnect Bandwidth Cache Performance Counters Partition Mechanism Layer (Trusted) Application Or OS Service Custom Scheduler Library OS Functionality Configure HW-supported Communication Message Passing Configure Partition Resources enforced by HW at runtime Partition Allocator

Partition Management Layer 31 Tessellation Kernel Partition Management Layer Hardware Partitioning Mechanisms CPUs Physical Memory Interconnect Bandwidth Cache Performance Counters Partition Mechanism Layer (Trusted) Application Or OS Service Custom Scheduler Library OS Functionality Configure HW-supported Communication Message Passing Configure Partition Resources enforced by HW at runtime Partition Allocator Partition Resizing Callback API

Partition Management Layer 32 Tessellation Kernel Partition Management Layer Hardware Partitioning Mechanisms CPUs Physical Memory Interconnect Bandwidth Cache Performance Counters Partition Mechanism Layer (Trusted) Application Or OS Service Custom Scheduler Library OS Functionality Configure HW-supported Communication Message Passing Configure Partition Resources enforced by HW at runtime Partition Allocator Partition Resizing Callback API Res. Reqs.

Partition Management Layer 33 Tessellation Kernel Partition Management Layer Hardware Partitioning Mechanisms CPUs Physical Memory Interconnect Bandwidth Cache Performance Counters Partition Mechanism Layer (Trusted) Application Or OS Service Custom Scheduler Library OS Functionality Configure HW-supported Communication Message Passing Configure Partition Resources enforced by HW at runtime Partition Allocator Partition Scheduler Comm Reqs Partition Resizing Callback API Res. Reqs.

Partition Management Layer 34 Tessellation Kernel Partition Management Layer Hardware Partitioning Mechanisms CPUs Physical Memory Interconnect Bandwidth Cache Performance Counters Partition Mechanism Layer (Trusted) Application Or OS Service Custom Scheduler Library OS Functionality Configure HW-supported Communication Message Passing Configure Partition Resources enforced by HW at runtime Partition Allocator Partition Scheduler Comm. Reqs Sched Reqs. Partition Resizing Callback API Res. Reqs.

Outline Why a new OS for Manycore Clients? A Case for Space-time Partitioning  Define space-time partitioning  Use cases for space-time partitioning Implementing Space-Time Partitioning in a Manycore OS Status

Implementation status Basics of Tessellation kernel and primitive OS service up and running  Provides rudimentary partition interface  Boots on standard x86 hardware  No I/O yet – statically linked applications and kernel TOS OS Services User App 0 User App 1 Manycore HW Tesselation Kernel

Build fast cross-core communication mechanisms for system calls  Context-switch free system calls  APIC driven message notification with shared memory Add support for the 19 newLib system calls in TOS OS Service partition TOS OS Services User App 0 User App 1 Next Steps Syscall Newlib C

Intermediate Infrastructure Existing I/O Drivers I/O Server Process  TOS OS Service doesn’t have all drivers, so run BSD with existing drivers on one core to service I/O from TOS OS Service  Tessellation runs on rest of the cores TOS OS Service User App 0 User App 1 Manycore HW Syscall BSD Kernel Newlib C Pinned Shared Memory Channel

Acknowledgements We would like to thank the entire ParLab OS group and several people at LBNL for their invaluable contribution to the ideas presented here. Research supported by Microsoft Award # and Intel Award # and by matching funding from U.C. Discovery (Award #DIG ). This work has also been in part supported by an NSF Graduate Research Fellowship.

Thanks! Questions? 40 Wireless radio Memory Media PlayerNetwork Driver Filesystem Browser Video decoder GUI Windows VM De-scheduled Partitions