Tessellation: Refactoring the OS around Explicit Resource Containers with Continuous Adaptation John Kubiatowicz UC Berkeley June 5 th, 2013 Juan Colmenares,

Slides:



Advertisements
Similar presentations
Using DSVM to Implement a Distributed File System Ramon Lawrence Dept. of Computer Science
Advertisements

Resource Management for Computer Operating Systems Sarah Bird PhD Candidate Berkeley EECS Burton Smith Technical Fellow Microsoft.
Introduction to Operating Systems CS-2301 B-term Introduction to Operating Systems CS-2301, System Programming for Non-majors (Slides include materials.
Contiki A Lightweight and Flexible Operating System for Tiny Networked Sensors Presented by: Jeremy Schiff.
Quality of Service in IN-home digital networks Alina Albu 7 November 2003.
Operating System Support Focus on Architecture
INTRODUCTION OS/2 was initially designed to extend the capabilities of DOS by IBM and Microsoft Corporations. To create a single industry-standard operating.
Chapter 13 Embedded Systems
Figure 1.1 Interaction between applications and the operating system.
Computer Organization and Architecture
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 Operating System Organization.
EECS 262a Advanced Topics in Computer Systems Lecture 12 Realtime Scheduling CBS and M-CBS Resource-Centric Computing October 13th, 2014 John Kubiatowicz.
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.
Basics of Operating Systems March 4, 2001 Adapted from Operating Systems Lecture Notes, Copyright 1997 Martin C. Rinard.
CS Advanced Operating Systems Structures and Implementation Lecture 18 Dominant Resource Fairness Two-Level Scheduling April 7 th, 2014 Prof. John.
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 System Architectures Computer System Software
9/14/2015B.Ramamurthy1 Operating Systems : Overview Bina Ramamurthy CSE421/521.
Tufts Wireless Laboratory School Of Engineering Tufts University “Network QoS Management in Cyber-Physical Systems” Nicole Ng 9/16/20151 by Feng Xia, Longhua.
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
B.Ramamurthy9/19/20151 Operating Systems u Bina Ramamurthy CS421.
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.
Threads, Thread management & Resource Management.
Multicore Resource Management 謝政宏. 2 Outline Background Virtual Private Machines  Spatial Component  Temporal Component  Minimum and Maximum.
1 COMPSCI 110 Operating Systems Who - Introductions How - Policies and Administrative Details Why - Objectives and Expectations What - Our Topic: Operating.
A Real-Time, Parallel GUI Service in Tesselation OS Albert Kim, Juan A. Colmenares, Hilfi Alkaff, and John Kubiatowicz Par Lab, UC Berkeley.
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.
OS 2020: Slide 1December 6 th, 2011Swarm Lab Opening Tessellation OS: an OS for the Swarm John Kubiatowicz
Real-Time Systems Mark Stanovich. Introduction System with timing constraints (e.g., deadlines) What makes a real-time system different? – Meeting timing.
CS Advanced Operating Systems Structures and Implementation Lecture 12 Dominant Resource Fairness Two-Level Scheduling March 11 th, 2013 Prof. John.
Ihr Logo Operating Systems Internals & Design Principles Fifth Edition William Stallings Chapter 2 (Part II) Operating System Overview.
A Cyclic-Executive-Based QoS Guarantee over USB Chih-Yuan Huang,Li-Pin Chang, and Tei-Wei Kuo Department of Computer Science and Information Engineering.
OPERATING SYSTEM SUPPORT DISTRIBUTED SYSTEMS CHAPTER 6 Lawrence Heyman July 8, 2002.
Processes Introduction to Operating Systems: Module 3.
EXTENSIBILITY, SAFETY AND PERFORMANCE IN THE SPIN OPERATING SYSTEM
ITFN 3601 Introduction to Operating Systems Lecture 3 Processes, Threads & Scheduling Intro.
Slide 1April 16 th, 2012Swarm Lab Seminar Reinventing Operating Systems for the Manycore Ubiquitous Swarm John Kubiatowicz
Real-Time Musical Applications On An Experimental OS For Multi-Core Processors 林鼎原 Department of Electrical Engineering National Cheng Kung University.
Lecture 3 : Performance of Parallel Programs Courtesy : MIT Prof. Amarasinghe and Dr. Rabbah’s course note.
Energy-Aware Resource Adaptation in Tessellation OS 3. Space-time Partitioning and Two-level Scheduling David Chou, Gage Eads Par Lab, CS Division, UC.
Chapter 2 Operating System Overview Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
Slides created by: Professor Ian G. Harris Operating Systems  Allow the processor to perform several tasks at virtually the same time Ex. Web Controlled.
Tessellation: Space-Time Partitioning in a Manycore Client OS 林鼎原 Department of Electrical Engineering National Cheng Kung University Tainan, Taiwan, R.O.C.
Gaia An Infrastructure for Active Spaces Prof. Klara Nahrstedt Prof. David Kriegman Prof. Dennis Mickunas
Unit - I Real Time Operating System. Content : Operating System Concepts Real-Time Tasks Real-Time Systems Types of Real-Time Tasks Real-Time Operating.
INTRODUCTION TO GRID & CLOUD COMPUTING U. Jhashuva 1 Asst. Professor Dept. of CSE.
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.
Real-Time Operating Systems RTOS For Embedded systems.
CT101: Computing Systems Introduction to Operating Systems.
REAL-TIME OPERATING SYSTEMS
Operating Systems : Overview
Operating Systems : Overview
Operating Systems Bina Ramamurthy CSE421 11/27/2018 B.Ramamurthy.
Operating Systems : Overview
Introduction to Operating Systems
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Introduction to Operating Systems
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Operating Systems : Overview
Operating Systems : Overview
Implementing Processes, Threads, and Resources
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.
Presentation transcript:

Tessellation: Refactoring the OS around Explicit Resource Containers with Continuous Adaptation John Kubiatowicz UC Berkeley June 5 th, 2013 Juan Colmenares, Gage Eads, Steven Hofmeyr, Sarah Bird, Miquel Moreto, David Chou, Brian Gluzman, Eric Roman, Davide Bartolini, Nitesh Mor, Krste Asanovic

Slide 2June 5 th, 2013DAC 2013, Special Session on Embedded OS Resources in a Smart Space Potential Displays Everywhere – Walls, Tables, Appliances, Smart Phones, Google Glasses…. Audio Output Everywhere Inputs Everywhere – Touch Surfaces – Cameras/ Gesture Tracking – Voice Context Tracking – Who is Where – What do they want – Which Inputs map to which applications

Slide 3June 5 th, 2013DAC 2013, Special Session on Embedded OS Support for Applications Real Time Requirements – Sophisticated multimedia interactions – Control of/interaction with health-related devices Responsiveness Requirements – Provide a good interactive experience to users Explicitly Parallel Components – However, parallelism may be “hard won” (not embarrassingly parallel) – Must not interfere with this parallelism Direct Interaction with Cloud services (including storage and compute) – Potentially extensive use of remote services – Serious security/data vulnerability concerns No existing OS handles all of these well….

Slide 4June 5 th, 2013DAC 2013, Special Session on Embedded OS Changing the Structure of Operating Systems (and Applications that run on them)

Slide 5June 5 th, 2013DAC 2013, Special Session on Embedded OS Guaranteeing Resources What might we want to guarantee? – Examples: Guarantees of BW (say data committed to Cloud Storage) Guarantees of Requests/Unit time (DB service) Guarantees of Latency to Response (Deadline scheduling) Guarantees of maximum time to Durability in cloud Guarantees of total energy/battery power available to Cell What level of guarantee? – Firm Guarantee (Better than existing systems) With high confidence (specified), Maximum deviation, etc. What does it mean to have guaranteed resources? – A Service Level Agreement (SLA)? – Something else? “Impedance-mismatch” problem – The SLA guarantees properties that programmer/user wants – The resources required to satisfy SLA are not things that programmer/user really understands

Slide 6June 5 th, 2013DAC 2013, Special Session on Embedded OS Resource Allocation must be Adaptive Three applications: – 2 Guaranteed Performance apps (RayTrace, Swaptions) – 1 Best-Effort App (Fluidanimate) Fraction Swaptions Throughput Fraction RayTRace Throughput

Slide 7June 5 th, 2013DAC 2013, Special Session on Embedded OS New Abstraction: the Cell Properties of a Cell – A user-level software component with guaranteed resources – Has full control over resources it owns (“Bare Metal”) – Contains at least one memory protection domain (possibly more) – Contains a set of secured channel endpoints to other Cells – Contains a security context which may protect and decrypt information When mapped to the hardware, a cell gets: – Gang-schedule hardware thread resources (“Harts”) – Guaranteed fractions of other physical resources Physical Pages (DRAM), Cache partitions, memory bandwidth, power – Guaranteed fractions of system services Predictability of performance  – Ability to model performance vs resources – Ability for user-level schedulers to better provide QoS

Slide 8June 5 th, 2013DAC 2013, Special Session on Embedded OS Implementing Cells: Space-Time Partitioning Spatial Partition: Performance isolation – Each partition receives a vector of basic resources A number HW threads Chunk of physical memory A portion of shared cache A fraction of memory BW Shared fractions of services Partitioning varies over time – Fine-grained multiplexing and guarantee of resources Resources are gang-scheduled Controlled multiplexing, not uncontrolled virtualization Partitioning adapted to the system’s needs Time Space Space

Slide 9June 5 th, 2013DAC 2013, Special Session on Embedded OS Applications Composed of Interconnected Cells Component-based model of computation – Applications consist of interacting components – Components may be local or remote Communication impacts Security and Performance – Channels are points at which data may be compromised – Channels define points for QoS constraints Naming process for initiating endpoints – Need to find compatible remote services – Continuous adaptation: links changing over time! SecureChannel Device Drivers File Service SecureChannel SecureChannel SecureChannel SecureChannel Real-Time Cells (Audio, Video) Core Application Parallel Library

Slide 10June 5 th, 2013DAC 2013, Special Session on Embedded OS Impact on the Programmer Connected graph of Cells  Object-Oriented Programming – Lowest-Impact: Wrap a functional interface around channel Cells hold “Objects”, Channels carry RPCs for “method calls” – Greater Parallelism: Event triggered programming Shared services complicate resource isolation: – How to provide each client with guaranteed fraction of service? Must somehow request the right number of resources – Analytically? AdHoc Profiling? Over commitment of resources? – Clearly doesn’t make it easy to adapt to changes in environment SecureChannel SecureChannel Application B Application A Shared File Service

Slide 11June 5 th, 2013DAC 2013, Special Session on Embedded OS Custom Adaptive User-Level Scheduling

Slide 12June 5 th, 2013DAC 2013, Special Session on Embedded OS Frameworks for User-Level Runtimes PULSE : Preemptive User-Level SchEdulers Framework Components – Hardware threads (harts) – Timer Interrupts for preemption Able to handle cell resizing – Automatic simulation of suspended scheduler segments Available schedulers – Round-robin (and pthreads) – EDF and Fixed Priority – Constant Bandwidth Server (M-CBS) – Juggle: load balancing SPMD apps Other framework: Lithe – Non-preemptive, Cooperative – Allows construction of schedulers that cooperate with libraries in handling processor resources. Tessellation Kernel (Partition Support) Tessellation Kernel (Partition Support) Application Cell PULSE Framework Scheduler X Hardware cores Timer interrupts

Slide 13June 5 th, 2013DAC 2013, Special Session on Embedded OS GUI Service Provides differentiated service to applications – Soft service-time guarantees – Performance isolation from other applications Operates on user-meaningful “actions” – E.g. “draw frame”, “move window” Exploits task parallelism for improved service times QoS-aware Scheduler

Slide 14June 5 th, 2013DAC 2013, Special Session on Embedded OS GUI Service Architecture

Slide 15June 5 th, 2013DAC 2013, Special Session on Embedded OS Performance of GUI Service Nano-X/ Linux Nano-X/ Tess GuiServ(1)/ Tess GuiServ(2)/ Tess GuiServ(4)/ Tess Out of 4000 frames

Slide 16June 5 th, 2013DAC 2013, Special Session on Embedded OS Network Service Supports reservations and proportional share of bandwidth – Using mClock scheduling algorithm (on top of PULSE) NIC driver is entirely contained in user-space – No system calls to transmit and receive buffers

Slide 17June 5 th, 2013DAC 2013, Special Session on Embedded OS Resource Distribution and Adaptation

Slide 18June 5 th, 2013DAC 2013, Special Session on Embedded OS Two Level Scheduling: Control vs Data Plane Split monolithic scheduling into two pieces: – Course-Grained Resource Allocation and Distribution to Cells Chunks of resources (CPUs, Memory Bandwidth, QoS to Services) Ultimately a hierarchical process negotiated with service providers – Fine-Grained (User-Level) Application-Specific Scheduling Applications allowed to utilize their resources in any way they see fit Performance Isolation: Other components of the system cannot interfere with Cells use of resources Monolithic CPU and Resource Scheduling Application Specific Scheduling Resource Allocation And Distribution Two-Level Scheduling

Slide 19June 5 th, 2013DAC 2013, Special Session on Embedded OS Performance-Aware Convex Optimization for Resource Allocation Express problem as an optimization with constraints – Maximize for throughput, performance, battery life, etc. Measure performance as a function of resources for each application – Create performance model – Refine performance function from application history Combine resource-value functions and QoS requirements to make resource decisions – Application is given enough resources for QoS – Turn off resources that don’t improve the system – Developers don’t need to understand resources Basic Solution to Impedance Mismatch problem

Slide 20June 5 th, 2013DAC 2013, Special Session on Embedded OS System Penalty Allocations 1 Allocations 2 Continuously minimize the penalty of the system (subject to restrictions on the total amount of resources) Response Time 1 Penalty 1 Response Time 2 ( (0,2), …, (n-1,2) ) Response Time 2 Response Time i Penalty Function Penalty 2 Penalty i Set of Running Applications Resource Allocation using Convex Optimization with Online Application Performance Models Response Time Function Response Time 1 ( (0,1), …, (n-1,1) ) Speech Recognition Stencil Graph Traversal Response Time i ( (0,i), …, (n-1,i) ) PACORA

Slide 21June 5 th, 2013DAC 2013, Special Session on Embedded OS Feedback Driven Policies Generic Policies do well but online exploration can cause oscillations in performance Example: Video Player interaction with Network – Server or GUI changes between high and low bit rate – Goal: set guaranteed network rate: Alternative: Application Driven Policy – Static models – Let network choose when to decrease allocation – Application-informed metrics such as needed BW

Slide 22June 5 th, 2013DAC 2013, Special Session on Embedded OS Tessellation Kernel (Trusted) Architecture of Tessellation OS RAB Service STRG Validator Resource Planner Partition Mapping and Multiplexing Layer Partition Multiplexing Partition Mechanism Layer QoS Enforcement Partition Implementation Channel Authenticator Partitionable (and Trusted) Hardware Cores Physical Memory Network Bandwidth Cache/ Local Store NICs Major Change Request ACK/NACK Cell Creation and Resizing Requests From Users Admission Control Minor Changes ACK/NACK Cell All system resources Cell group with fraction of resources Cell Space-Time Resource Graph (STRG) (Current Resources) Global Policies / User Policies and Preferences Resource Allocation And Adaptation Mechanism Offline Models and Behavioral Parameters Online Performance Monitoring, Model Building, and Prediction Performance Counters Partition #1Partition #2 Partition #3 Cell #1 Cell #2 Cell #3 User/System Performance Reports TPM/ Crypto

Slide 23June 5 th, 2013DAC 2013, Special Session on Embedded OS Application1 QoS-aware Scheduler Block Service QoS-aware Scheduler Network Service QoS-aware Scheduler GUI Service Channel Running System (Data Plane) Application2 Channel Performance Reports Resource Assignments Resource Allocation (Control Plane) Partitioning and Distribution Observation and Modeling Adaptive Resource-Centric Computing (ARCC)

Slide 24June 5 th, 2013DAC 2013, Special Session on Embedded OS On Toward the Swarm

Slide 25June 5 th, 2013DAC 2013, Special Session on Embedded OS Support for the Swarm: – Discover and Manage resource – Integrate sensors, portable devices, cloud components – Guarantee responsiveness, real-time behavior, throughput – Self-adapt to adjust for failure and provide performance predictability – Secure, high-performance, durable, available data Metropolitan Middleware Meeting the needs of the Swarm Personal Swarm Cloud Services

Slide 26June 5 th, 2013DAC 2013, Special Session on Embedded OS Cell as Ubiquitous Swarm Primitive Should every component in system host Cells? – Even sensors!? – What is minimal support? Security Primitives Communication support – Alternative: Bare sensors do not host Cells Mobile Environment – Constant changes in resource availability – Adaptation in resource requirements – Change connected graph continuously  Dynamic SLAs? Hierarchical Resource Broker Architecture – Many overlapping broker domains – Resource Ontologies? Cell is a natural way to handle heterogeneity – From the outside: export services to other Cells

Slide 27June 5 th, 2013DAC 2013, Special Session on Embedded OS Brokering Service: The Hierarchy of Ownership Discover Resources in “Domain” – Devices, Services, Other Brokers – Resources self-describing? Allocate and Distribute Resources to Cells that need them – Solve Impedance-mismatch problem – Dynamically optimize execution – Hand out Service-Level Agreements (SLAs) to Cells – Deny admission to Cells which violate existing agreements Complete hierarchy – World graph of applications Local Broker Sibling Broker Parent Broker Child Broker

Slide 28June 5 th, 2013DAC 2013, Special Session on Embedded OS On Demand Video Conference Local Resources – Display, Compute (encoding, rendering), Video Cameras, Microphones, Speakers Brokered resources – Request Bandwidth reservations along path from source to destination Openflow? QoS API – Request service from compute for rendering – Guaranteed path to data storage Universal Tivo

Slide 29June 5 th, 2013DAC 2013, Special Session on Embedded OS DataCentric Vision Hardware resources are a commodity – Computation resource fails? Get another – Sensor fails? Find another – Change your location? Find new resources All that really matters is the data! – Integrity, Privacy, Availability, Durability – Hardware to prevent accidental information leakage Permanent state handled by Universal Data Storage, Distribution, and Archiving Oceanstore Metric of Interest: – 1Mole of Bytes 6×10 23 bytes (i.e. a YottaByte)

Slide 30June 5 th, 2013DAC 2013, Special Session on Embedded OS Universal Data: The Great Integrator Universal Data Plane: Archival Storage+Streaming Personal Cache Aggregate/Filter Universal Tivo Cloud Services

Slide 31June 5 th, 2013DAC 2013, Special Session on Embedded OS Conclusion Adaptive Resource-Centric Computing – Use of Resources negotiated hierarchically – Underlying Execution environment guarantees QoS – New Resources constructed from Old ones: Aggregate resources in combination with QoS-Aware Scheduler Result is a new resource that can be negotiated for – Continual adaptation and optimization Important components of future OS environment – Cells as Basic Unit of Resource and Security User-Level Software Component with Guaranteed Resources Secure Channels to other Cells – Observation, Monitoring, and Adaptation layers Machine learning, Convex Optimization – Portable Secure Data infrastructure If you can name it, you can use it Tessellation OS: SwarmLab: