A Real-Time, Parallel GUI Service in Tesselation OS Albert Kim, Juan A. Colmenares, Hilfi Alkaff, and John Kubiatowicz Par Lab, UC Berkeley.

Slides:



Advertisements
Similar presentations
Operating Systems Manage system resources –CPU scheduling –Process management –Memory management –Input/Output device management –Storage device management.
Advertisements

COURSE: COMPUTER PLATFORMS
Introduction to Operating Systems CS-2301 B-term Introduction to Operating Systems CS-2301, System Programming for Non-majors (Slides include materials.
CMSC 421: Principles of Operating Systems Section 0202 Instructor: Dipanjan Chakraborty Office: ITE 374
Chapter 1: Introduction
1 Virtual Private Caches ISCA’07 Kyle J. Nesbit, James Laudon, James E. Smith Presenter: Yan Li.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
Threads 1 CS502 Spring 2006 Threads CS-502 Spring 2006.
1 Last Class: Introduction Operating system = interface between user & architecture Importance of OS OS history: Change is only constant User-level Applications.
©Brooks/Cole, 2003 Chapter 7 Operating Systems Dr. Barnawi.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
1/16/2008CSCI 315 Operating Systems Design1 Introduction Notice: The slides for this lecture have been largely based on those accompanying the textbook.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
Slide 1-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 1.
 Introduction Introduction  Definition of Operating System Definition of Operating System  Abstract View of OperatingSystem Abstract View of OperatingSystem.
Computer System Architectures Computer System Software
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
@2011 Mihail L. Sichitiu1 Android Introduction Platform Overview.
9/13/20151 Threads ICS 240: Operating Systems –William Albritton Information and Computer Sciences Department at Leeward Community College –Original slides.
1 5/25/2016 操作系统课件 教材: 《操作系统概念(第六版 影印版)》 【原书名】 Operating System Concepts(Sixth Edition) [ 原书信息 ] Operating System Concepts(Sixth Edition) [ 原书信息 ] 【原出版社】
Thanks to Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction n What is an Operating System? n Mainframe Systems.
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 3: Operating Systems Computer Science: An Overview Tenth Edition.
Computing and the Web Operating Systems. Overview n What is an Operating System n Booting the Computer n User Interfaces n Files and File Management n.
Operating Systems ECE344 Ashvin Goel ECE University of Toronto Threads and Processes.
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.
Issues Autonomic operation (fault tolerance) Minimize interference to applications Hardware support for new operating systems Resource management (global.
Operating System 2 Overview. OPERATING SYSTEM OBJECTIVES AND FUNCTIONS.
Processes Introduction to Operating Systems: Module 3.
10/8: Software What is software? –Types of software System software: Operating systems Applications Creating software –Evolution of software development.
ECE 720T5 Fall 2012 Cyber-Physical Systems Rodolfo Pellizzoni.
X-WindowsP.K.K.Thambi The X Window System Module 5.
CS 346 – Chapter 2 OS services –OS user interface –System calls –System programs How to make an OS –Implementation –Structure –Virtual machines Commitment.
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.
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
Lecture 4 Page 1 CS 111 Online Modularity and Virtualization CS 111 On-Line MS Program Operating Systems Peter Reiher.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
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
Data-Centric Systems Lab. A Virtual Cloud Computing Provider for Mobile Devices Gonzalo Huerta-Canepa presenter 김영진.
January 2010 – GEO-ISC KickOff meeting Christian Gräf, AEI 10 m Prototype Team State-of-the-art digital control: Introducing LIGO CDS.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered System Real.
Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered System Real.
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
חוברת שקפים להרצאות של ד"ר יאיר ויסמן מבוססת על אתר האינטרנט:
Chapter 1: Introduction
Introduction to Operating Systems
Language Processors Application Domain – ideas concerning the behavior of a software. Execution Domain – Ideas implemented in Computer System. Semantic.
Multithreaded Programming
Windows Virtual PC / Hyper-V
Subject Name: Operating System Concepts Subject Number:
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
Graphics Processing Unit
Introduction to Operating Systems
Chapter 1: Introduction
Chapter 1: Introduction
Hypervisor A hypervisor or virtual machine monitor (VMM) is computer software, firmware or hardware that creates and runs virtual machines. A computer.
Presentation transcript:

A Real-Time, Parallel GUI Service in Tesselation OS Albert Kim, Juan A. Colmenares, Hilfi Alkaff, and John Kubiatowicz Par Lab, UC Berkeley

Motivation: Responsiveness Screen freezes because the GUI system has been swapped out Browser’s GUI might disappear when compiling Impossible for me to watch a video while running a simulation We’re going to show how to fix this

Overview Definition of GUI Service: – Render graphics – Handle image/video processing tasks – Window management Want some desired features over basic definition Operate on user-meaningful “actions” – E.g. “draw frame”, “move window” Service time guarantees (soft real-time) – Differentiated service per application – E.g. text editor vs video Performance isolation from other applications Reduce overall service time via task parallelism

Overall Model GUI Service is performance-isolated entity Graphics rendering can be offloaded Can take a global view of GUI actions Acts as front-end to the framebuffer and input devices Draw Frame

It Works!

Sneak Peek at Data Traditional GUI System GUI Service (1 core) GUI Service (4 cores) Out of 4000 frames

Service Time Guarantees for User Actions User actions have deadlines (real-time) Use CPU reservation to allocate CPU time for each application – Each application may request different amounts of CPU reservation Guaranteed CPU time No denial-of-service Custom scheduler that combines: – Global Earliest Deadline First (GEDF) – Multiprocessor Aperiodic Server (MAS) Action 1Action 2Action 1Action 3 CPU Time in GUI Service

Achieving Performance Isolation GUI Service should not conflict with other apps Take advantage of Tessellation OS Tessellation’s goals: – Support a varied mix of applications – Enable applications to deliver guaranteed/consistent performance – Even in scenarios in which applications have conflicting requirements Basic Idea: Tessellation partitions resources (e.g. cores, cache partitions) Time Space

Performance Isolation (continued) Cell: the basic partitioning abstraction – Full control over resources it owns – Encapsulates entire runtime system – Has its own scheduler and memory management system – Efficient inter-cell communication using channels Space-time partitioning – Resources for cells are gang-scheduled – No uncontrolled virtualization Two-level scheduling – 1 st -level scheduler (Kernel) – 2 nd -level scheduler (User) 2nd-level Scheduling 2nd-level Mem Mgmt App 1App 2 Cell A Task Time Space Cell B Channel

Parallelism Rendering is CPU-intensive, so parallelize Not a problem for non-overlapping windows Even for overlapping, we can use virtual framebuffers (VFB) – Render to virtual framebuffer, then use screen region map (SRM) when flushing to the real framebuffer It gets tricky with window management VFB SRM

GUI Service Architecture

Experiment Setup Capture end-to-end service times (less is better) 8 video clients, each sending 4000 video frame requests – 4 are 30-fps videos (352 x 288) – 4 are 60-fps videos (352 x 288) 5 different GUI system setups – Traditional window system running on Linux (Nano-X/Linux) – Traditional window system running on Tessellation (Nano-X/Tess) – GUI Service running on Tessellation With 1 core (GuiServ(1)/Tess) With 2 cores (GuiServ(2)/Tess) With 4 cores (GuiServ(4)/Tess) Running on machine with 8 hyperthreads Window system and video clients running on separate cores

Experimental Data Nano-X/ Linux Nano-X/ Tess GuiServ(1)/ Tess GuiServ(2)/ Tess GuiServ(4)/ Tess Out of 4000 frames

Service Level Agreement Establishment Ongoing Work Right now, we have to manually profile applications to figure out how much CPU time they require from the GUI Service – Painful and takes a lot of effort – Reason why people don’t like doing real-time We can profile applications on-the-fly GUI Service Visual App (Best Effort) User Action Probe Request User Action Probe Request CPU Time in GUI Service SLA Accept Visual App (Real-Time)

Network Service Architecture Ongoing Work Network Interface Card

Related Work 1.John E. Sasinowski and Jay K. Strosnider. ARTIFACT: A platform evaluating real-time window system designs. In Proc. of RTSS’95 2.Norman Feske and Hermann Hartig. DOpE – a window server for real-time and embedded systems. Technical Report TUD FI03 3.Nicola Mainca et al. QoS support in X11 window system. Proc. Of RTAS’08 Service Time Guarantees Performance Isolation Parallelism ARTIFACT 1 DOpE 2 QoS X11 3 GUI Service

Final Remarks GUI Service meets time requirements of clients in situations in which traditional window systems fail to do so GUI Service meets these requirements by leveraging: – Service time guarantees using real-time schedulers – Performance isolation using Tessellation – Task-level parallelism GUI Service architecture provides an overall pattern for other QoS-aware services

Thanks!

Acknowledgments Research supported by – Microsoft (Award #024263) – Intel (Award #024894) – U.C. Discovery funding (Award #DIG ) Additional support from Par Lab affiliates – National Instruments, NEC, Nokia, NVIDIA, Samsung, and Sun Microsystems.