Tessellation: Space-Time Partitioning in a Manycore Client OS 林鼎原 Department of Electrical Engineering National Cheng Kung University Tainan, Taiwan, R.O.C.

Slides:



Advertisements
Similar presentations
Operating Systems Components of OS
Advertisements

MicroKernel Pattern Presented by Sahibzada Sami ud din Kashif Khurshid.
Chapter 1 Introduction Copyright © Operating Systems, by Dhananjay Dhamdhere Copyright © Introduction Abstract Views of an Operating System.
Interactive lesson about operating system
Operating System Structures
1 Hardware Support for Isolation Krste Asanovic U.C. Berkeley MURI “DHOSA” Site Visit April 28, 2011.
28.2 Functionality Application Software Provides Applications supply the high-level services that user access, and determine how users perceive the capabilities.
Introduction to Operating Systems CS-2301 B-term Introduction to Operating Systems CS-2301, System Programming for Non-majors (Slides include materials.
CMPT 300: Operating Systems I Dr. Mohamed Hefeeda
1. Overview  Introduction  Motivations  Multikernel Model  Implementation – The Barrelfish  Performance Testing  Conclusion 2.
ECE 526 – Network Processing Systems Design Software-based Protocol Processing Chapter 7: D. E. Comer.
Extensibility, Safety and Performance in the SPIN Operating System Brian Bershad, Stefan Savage, Przemyslaw Pardyak, Emin Gun Sirer, Marc E. Fiuczynski,
Chapter 13 Embedded Systems
Figure 1.1 Interaction between applications and the operating system.
Chapter 11 Operating Systems
CS533 - Concepts of Operating Systems
1 Chapter 13 Embedded Systems Embedded Systems Characteristics of Embedded Operating Systems.
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 Operating System Organization.
Computer System Architectures Computer System Software
1 Chapter Client-Server Interaction. 2 Functionality  Transport layer and layers below  Basic communication  Reliability  Application layer.
1 Operating System Overview Chapter 2 Advanced Operating System.
Tufts Wireless Laboratory School Of Engineering Tufts University “Network QoS Management in Cyber-Physical Systems” Nicole Ng 9/16/20151 by Feng Xia, Longhua.
Introduction and Overview Questions answered in this lecture: What is an operating system? How have operating systems evolved? Why study operating systems?
Multiple Processor Systems. Multiprocessor Systems Continuous need for faster and powerful computers –shared memory model ( access nsec) –message passing.
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
CS533 Concepts of Operating Systems Jonathan Walpole.
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.
OS provide a user-friendly environment and manage resources of the computer system. Operating systems manage: –Processes –Memory –Storage –I/O subsystem.
Improving Network I/O Virtualization for Cloud Computing.
◦ What is an Operating System? What is an Operating System? ◦ Operating System Objectives Operating System Objectives ◦ Services Provided by the Operating.
SAMANVITHA RAMAYANAM 18 TH FEBRUARY 2010 CPE 691 LAYERED APPLICATION.
Multicore Resource Management 謝政宏. 2 Outline Background Virtual Private Machines  Spatial Component  Temporal Component  Minimum and Maximum.
Operating Systems ECE344 Ashvin Goel ECE University of Toronto OS Design.
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.
Chapter 101 Multiprocessor and Real- Time Scheduling Chapter 10.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Computers Operating System Essentials. Operating Systems PROGRAM HARDWARE OPERATING SYSTEM.
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3.
Issues Autonomic operation (fault tolerance) Minimize interference to applications Hardware support for new operating systems Resource management (global.
(a) What is the output generated by this program? In fact the output is not uniquely defined, i.e., it is not always the same. So please give three examples.
“Trusted Passages”: Meeting Trust Needs of Distributed Applications Mustaque Ahamad, Greg Eisenhauer, Jiantao Kong, Wenke Lee, Bryan Payne and Karsten.
Processes Introduction to Operating Systems: Module 3.
Adaptive Multi-Threading for Dynamic Workloads in Embedded Multiprocessors 林鼎原 Department of Electrical Engineering National Cheng Kung University Tainan,
Chapter 2 Processes and Threads Introduction 2.2 Processes A Process is the execution of a Program More specifically… – A process is a program.
EXTENSIBILITY, SAFETY AND PERFORMANCE IN THE SPIN OPERATING SYSTEM
CS533 - Concepts of Operating Systems 1 The Mach System Presented by Catherine Vilhauer.
Operating System Organization Chapter 3 Michelle Grieco.
1 Client-Server Interaction. 2 Functionality Transport layer and layers below –Basic communication –Reliability Application layer –Abstractions Files.
Real-Time Musical Applications On An Experimental OS For Multi-Core Processors 林鼎原 Department of Electrical Engineering National Cheng Kung University.
SECURING SELF-VIRTUALIZING ETHERNET DEVICES IGOR SMOLYAR, MULI BEN-YEHUDA, AND DAN TSAFRIR PRESENTED BY LUREN WANG.
SDN Management Layer DESIGN REQUIREMENTS AND FUTURE DIRECTION NO OF SLIDES : 26 1.
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
Protecting The Kernel Data through Virtualization Technology BY VENKATA SAI PUNDAMALLI id :
ADAM: Run-time Agent-based Distributed Application Mapping for on-chip Communication 林鼎原 Department of Electrical Engineering National Cheng Kung University.
CS4315A. Berrached:CMS:UHD1 Introduction to Operating Systems Chapter 1.
Gaia An Infrastructure for Active Spaces Prof. Klara Nahrstedt Prof. David Kriegman Prof. Dennis Mickunas
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Distributed Sequencing for Resource Sharing in Multi-Applicative Heterogeneous NoC Platforms 林鼎原 Department of Electrical Engineering National Cheng Kung.
Introduction to threads
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Is Virtualization ready for End-to-End Application Performance?
Introduction to Operating System (OS)
Oracle Solaris Zones Study Purpose Only
Operating Systems Bina Ramamurthy CSE421 11/27/2018 B.Ramamurthy.
Multithreaded Programming
SAMANVITHA RAMAYANAM 18TH FEBRUARY 2010 CPE 691
Operating Systems: A Modern Perspective, Chapter 3
Chapter 2 Operating System Overview
Presentation transcript:

Tessellation: Space-Time Partitioning in a Manycore Client OS 林鼎原 Department of Electrical Engineering National Cheng Kung University Tainan, Taiwan, R.O.C 2016/3/1 1 隱藏之投影片 ★★★ Xen ??? To be studied :

2 一、 Abstract  We argue for space-time partitioning (STP) in manycore operating systems.  STP divides resources.  such as cores, cache, and network bandwidth amongst interacting software components.  We discuss properties of STP and ways in which hardware can assist STP.  We introduce Tessellation, a new operating system built on top of STP.  which restructures a traditional operating system as a set of distributed interacting services  In Tessellation, parallel applications can efficiently coexist and interact with one another.

3 二、 Introduction  All major vendors have ceased the relentless pursuit of individual CPU performance and have instead started doubling the number of CPUs per chip with each generation.  Highly parallel manycore systems will soon be the mainstream,  not just in large machine room servers but also in small client devices, such as laptops, tablets, and handhelds.  Future client devices will run a mix of interactive, real-time, and batch applications simultaneously  a user may run multiple web applications, such as Gmail and Facebook, while listening to MP3 music files and video chatting with friends.  In addition, battery life is a critical issue for client devices,  requiring energy to be a first-class resource that is actively managed by the operating system.

4 二、 Introduction( 續 )  This paper argues that space-time partitioning (STP) is crucial for manycore client operating systems.  A spatial partition (or “partition” for short) is an isolated unit  containing a subset of physical machine resources  Such as cores, cache, memory, guaranteed fractions of memory or network bandwidth, and energy budget.  Space-time partitioning virtualizes spatial partitions by time-multiplexing  whole partitions onto available hardware, but at a coarse-enough granularity to allow efficient user-level scheduling within a partition.  Space-time partitioning leads to a restructuring of systems services as a set of interacting distributed components.

5 二、 Introduction( 續 )  We propose a new “exploded OS” called Tessellation, structured around space-time partitioning and two-level scheduling between the global and partition runtimes.  Tessellation, shown in Figure 1, implements scheduling and resource management at the partition granularity.  Applications and OS services run within their own partitions  and have exclusive control of the scheduling of resources (e.g. cores, cache, memory)within their partitions.  Partitions are lightweight, and can be resized or suspended with similar overheads to a process context switch.

6 二、 Introduction( 續 )

7 三、 Case For Space-Time Partitioning  3.1 Partitioning for Performance  The need for space-time partitioning becomes clear as we consider the diverse application workload on a manycore client.  The challenge of exploiting parallelism for client manycore environments is daunting.  The variety of applications on a client will exhibit different forms of parallelism and incompatible performance goals  A single monolithic scheduler is unlikely to be sufficient for this diverse environment.

8 三、 Case For Space-Time Partitioning ( 續 )  Spatial partitions with exclusive access to resources can provide a stable environment.  in which application-specific runtimes tailored to different parallel programming models  Resource management techniques can execute without interference from incompatible OS scheduling policies.  Further, space-time partitioning can provide both functional and performance isolation between simultaneously running applications with different performance goals.

9 三、 Case For Space-Time Partitioning ( 續 )  3.2 Partitioning for Energy  Energy is a crucial resource for the client environment.  Spatial partitioning provides an operating system’s analog of clock gating (used for power reduction at the hardware level).  With proper hardware support, whole partitions could exist in low power states.  Further, by carefully allocating resources to partitions, the kernel can control the power consumption of each software component.  For instance, a portable device encountering a low-energy condition could choose to devote a minimal fraction of available memory and compute bandwidth to a crucial function  such as cellphone service, while greatly restricting the resources available to non- crucial functions

10 三、 Case For Space-Time Partitioning ( 續 )  3.3 Partitioning for QoS  A system with space-time partitioning can enforce QoS guarantees through performance isolation and strict control of inter-partition communication.  For instance, an IP network component could receive sufficient CPU and memory resources to guarantee its ability to handle external network traffic at line speed  while performing intrusion detection, packet classification, and demultiplexing.  Resources allocated to this partition are dedicated, ensuring that it can achieve its performance goals.

11 三、 Case For Space-Time Partitioning ( 續 )  3.4 Partitioning for Correctness  Isolation of resources and inter-partition communication leads to enhanced security and correctness.  By enforcing predetermined communication patterns, the kernel can prevent many classes of attack and incorrect behaviors.  Even if dynamic inter-partition communication patterns are desired, the partitioning mechanism can require each new connection to be vetted and approved by the kernel before communication is possible.

12 四、 Interaction Between Partitions  4.1 Inter-Partition Channels  Partitions provide a natural framework for encapsulating major components of applications and the operating system.  However, splitting an application across multiple partitions requires that these partitions be able to communicate with one another.  If poorly designed, cross-partition communication could become a weak point in the security or QoS guarantees provided by the system as a whole.  Our current model of inter-partition communication is via message passing  Message passing makes it easier to reason about the security of the system  because messages are read-only and explicitly relinquished by the sender at the time of transmission.  Message channels (that may be encrypted) must be authorized by a trusted code base before they can be used.

13 四、 Interaction Between Partitions( 續 )  4.2 Cross-Partition Quality of Service  Partitions only communicate with one another or the outside world through messaging.  Monitoring and restricting the flow of messages provides an important mechanism for enforcing QoS.  For instance, suppose that applications A and B are granted equal quantities of some global resource (e.g., energy, network bandwidth, or execution time).  In the presence of a shared service (see Figure 2), two things must be accomplished to enforce QoS:

14 四、 Interaction Between Partitions( 續 )  First, the shared service must be profiled or otherwise analyzed to ascertain a relationship between incoming request rate and resource usage  Second, requests from applications A and B must be monitored and potentially suppressed at the source to prevent either application from denying the other its fair share of the shared service

15 四、 Interaction Between Partitions( 續 )  4.3 Partition Virtualization  Partitions can be virtualized and multiplexed on physical hardware by a global partition manager.  Partition resources must be gang scheduled to provide application runtimes with full knowledge and control over their resources to enable them to implement optimized scheduling and resource allocation internally.  When starting, an application that requires resource guarantees must express its resource and QoS requirements to a global partition manager in charge of actually allocating out those resources;

16 五、 Space-Time Partitioning in Tessellation  The Tessellation Kernel (shown in Figure 3) is a thin, trusted layer that implements resource allocation and scheduling at the partition granularity.  Tessellation exploits a combination of hardware and software mechanisms to perform space-time partitioning.  Provides a standardized API for applications to configure resources and construct secure restricted communication channels between partitions.

17 五、 Space-Time Partitioning in Tessellation( 續 )

18 五、 Space-Time Partitioning in Tessellation( 續 )  5.1 Hardware Partitioning Mechanisms  We discuss hardware mechanisms to aid in partitioning and reduce the overhead of time-multiplexing a partition.  The Partition Mechanism Layer combines these mechanisms to provide a uniform partitioning API.  Cores (CPUs) are controlled by restricting the ability of applications to run threads on the cores.  Physical memory is partitioned using conventional mechanisms such as page tables and TLBs.  Hardware performance counters to monitor application performance, resource usage, and energy consumption.

19 五、 Space-Time Partitioning in Tessellation( 續 )  We need hardware support to partition shared resources, e.g., caches and network/memory bandwidth, in order to provide performance isolation.  Performance isolation enables the operating system to run arbitrary applications simultaneously (spatially distributed),  Shared caches should be partitionable flexibly and dynamically for efficient utilization.  5.2 The Partition Mechanism Layer  The lowest layer of the Tessellation Kernel is called the Partition Mechanism Layer, as shown in Figure 3.  This thin, machine-dependent layer is responsible for configuring available hardware mechanisms to enforce dynamic hardware partitions.

20 五、 Space-Time Partitioning in Tessellation( 續 )  5.3 The Partition Manager  The heart of the Tessellation Kernel is a policy layer, called the Partition Manager.  The Partition Manager schedules and allocates resources to applications and service partitions.  To determine which resources and how much of those resources should be allocated to each partition,  Partition Manager needs an abstract understanding of the machine topology.  The partition resizing API implemented by application runtimes  permits the Partition Manager to resize running application partitions.

21 五、 Space-Time Partitioning in Tessellation( 續 )  5.4 Application Use of Partitions  Tessellation provides both fixed-sized partitions and dynamically-sized partitions to applications.  Tessellation exports three additional interfaces.  One allows applications to dynamically request and return resources to the Partition Manager.  Another allows applications to specify scheduling constraints such as real time deadlines or priorities.  A third allows applications to initiate secure channels with other partitions.

22 六、 Conclusions  We argued for space-time partitioning (STP) as the primary abstraction for resource management on manycore client devices,  Presented a new OS, called Tessellation, based on STP.