Computer Science Linux Dionisys: A Kernel-Based Approach to QoS Management Richard West & Jason Gloudon Operating Systems & Services Group.

Slides:



Advertisements
Similar presentations
Operating System Structures
Advertisements

Department of Computer Science and Engineering University of Washington Brian N. Bershad, Stefan Savage, Przemyslaw Pardyak, Emin Gun Sirer, Marc E. Fiuczynski,
Extensibility, Safety and Performance in the SPIN Operating System Presented by Allen Kerr.
Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8 th Edition Chapter 4: Threads.
Extensibility, Safety and Performance in the SPIN Operating System Department of Computer Science and Engineering, University of Washington Brian N. Bershad,
Threads Irfan Khan Myo Thein What Are Threads ? a light, fine, string like length of material made up of two or more fibers or strands of spun cotton,
1. Overview  Introduction  Motivations  Multikernel Model  Implementation – The Barrelfish  Performance Testing  Conclusion 2.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem.
Chapter 4: Threads. 4.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th edition, Jan 23, 2005 Chapter 4: Threads Overview Multithreading.
Contiki A Lightweight and Flexible Operating System for Tiny Networked Sensors Presented by: Jeremy Schiff.
Extensibility, Safety and Performance in the SPIN Operating System Brian Bershad, Stefan Savage, Przemyslaw Pardyak, Emin Gun Sirer, Marc E. Fiuczynski,
Quality of Service in IN-home digital networks Alina Albu 7 November 2003.
1 Quality Objects: Advanced Middleware for Wide Area Distributed Applications Rick Schantz Quality Objects: Advanced Middleware for Large Scale Wide Area.
Dawson R. Engler, M. Frans Kaashoek, and James O’Toole Jr.
Extensibility, Safety and Performance in the SPIN Operating System Bershad et al Presentation by norm Slides shamelessly “borrowed” from Stefan Savage’s.
Dawson R. Engler, M. Frans Kaashoek, and James O'Tool Jr.
Capriccio: Scalable Threads for Internet Services Rob von Behren, Jeremy Condit, Feng Zhou, Geroge Necula and Eric Brewer University of California at Berkeley.
I/O Hardware n Incredible variety of I/O devices n Common concepts: – Port – connection point to the computer – Bus (daisy chain or shared direct access)
Extensibility, Safety and Performance in the SPIN Operating System Brian Bershad, Stefan Savage, Przemyslaw Pardyak, Emin Gun Sirer, Marc E. Fiuczynski,
Active Messages: a Mechanism for Integrated Communication and Computation von Eicken et. al. Brian Kazian CS258 Spring 2008.
1 Last Class: Introduction Operating system = interface between user & architecture Importance of OS OS history: Change is only constant User-level Applications.
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 3: Processes.
Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8 th Edition Chapter 4: Threads.
Extensible Kernels Mingsheng Hong. OS Kernel Types Monolithic Kernels Microkernels – Flexible (?) – Module Design – Reliable – Secure Extensible Kernels.
The Mach System "Operating Systems Concepts, Sixth Edition" by Abraham Silberschatz, Peter Baer Galvin, and Greg Gagne Presentation by Jonathan Walpole.
CS533 Concepts of OS Class 16 ExoKernel by Constantia Tryman.
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Dreams in a Nutshell Steven Sommer Microsoft Research Institute Department of Computing Macquarie University.
14.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts with Java – 8 th Edition Chapter 4: Threads.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 4: Threads.
Chapter 4: Threads. 4.2CSCI 380 Operating Systems Chapter 4: Threads Overview Multithreading Models Threading Issues Pthreads Windows XP Threads Linux.
Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8 th Edition Chapter 4: Threads.
Extensibility, Safety and Performance in the SPIN Operating System Ashwini Kulkarni Operating Systems Winter 2006.
I/O Systems I/O Hardware Application I/O Interface
Eric Keller, Evan Green Princeton University PRESTO /22/08 Virtualizing the Data Plane Through Source Code Merging.
OS provide a user-friendly environment and manage resources of the computer system. Operating systems manage: –Processes –Memory –Storage –I/O subsystem.
1 06/00 Questions 10/6/2015 QoS in DOS ECOOP 2000John Zinky BBN Technologies ECOOP 2000 Workshop on Quality of Service in Distributed Object Systems
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Recall: Three I/O Methods Synchronous: Wait for I/O operation to complete. Asynchronous: Post I/O request and switch to other work. DMA (Direct Memory.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
1 Integrating security in a quality aware multimedia delivery platform Paul Koster 21 november 2001.
Source: Operating System Concepts by Silberschatz, Galvin and Gagne.
EXTENSIBILITY, SAFETY AND PERFORMANCE IN THE SPIN OPERATING SYSTEM
CS533 - Concepts of Operating Systems 1 The Mach System Presented by Catherine Vilhauer.
The Mach System Abraham Silberschatz, Peter Baer Galvin, and Greg Gagne Presented by: Jee Vang.
Multithreaded Programing. Outline Overview of threads Threads Multithreaded Models  Many-to-One  One-to-One  Many-to-Many Thread Libraries  Pthread.
Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, and Henry M. Levy. Presented by: Tim Fleck.
1 BBN Technologies Quality Objects (QuO): Adaptive Management and Control Middleware for End-to-End QoS Craig Rodrigues, Joseph P. Loyall, Richard E. Schantz.
Real-Time Operating System Design
CS533 Concepts of Operating Systems Jonathan Walpole.
Silberschatz, Galvin, and Gagne  Applied Operating System Concepts Module 12: I/O Systems I/O hardwared Application I/O Interface Kernel I/O.
Interrupts and Exception Handling. Execution We are quite aware of the Fetch, Execute process of the control unit of the CPU –Fetch and instruction as.
Two New UML Diagram Types Component Diagram Deployment Diagram.
Introduction to Operating Systems Concepts
Chapter 13: I/O Systems.
Module 12: I/O Systems I/O hardware Application I/O Interface
The Mach System Sri Ramkrishna.
Presentation by Omar Abu-Azzah
Operating System Concepts
13: I/O Systems I/O hardwared Application I/O Interface
CS703 - Advanced Operating Systems
Chapter 2: Operating-System Structures
The Design & Implementation of Hyperupcalls
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Chapter 2: Operating-System Structures
Lecture Topics: 11/1 Hand back midterms
Module 12: I/O Systems I/O hardwared Application I/O Interface
Presentation transcript:

Computer Science Linux Dionisys: A Kernel-Based Approach to QoS Management Richard West & Jason Gloudon Operating Systems & Services Group

Computer Science Motivation  General purpose systems have limitations:  Ill-equipped to meet service requirements of complex real-time applications  Aim to extend COTS systems to:  better meet the service needs of applications  provide finer-grained service management than at user-level  adapt system behavior to compensate for changes in resource needs and availability

Computer Science Approach  Linux Dionisys  Distributed system for run-time service adaptation  Allow real-time applications to specify:  how, when & where actual service should be adapted to meet required / improved QoS  MEDEA: Mechanism for Event DrivEn Adaptation  SafeX: Safe kernel eXtensions

Computer Science Example System Usage  Scalable web servers / farms  Adaptive load-balancing, caching  Adaptable protocols  For flow, error, rate control etc  Coordinated resource management  e.g., Tradeoffs in CPU versus bandwidth usage

Computer Science Linux Dionisys Components  Service extensions:  Service managers (SMs)  Monitors - influence when to adapt  Handlers - influence how to adapt  MEDEA event channel subsystem  Transport events between SMs, where adaptation is needed  SafeX daemons  Nameserver, library (API)

Computer Science Linux Dionisys Overview App process Daemon Nameserver Daemon Host 1Host n App process Daemon SM 3 User Level Kernel Level SM 1 (eg., CPU) SM m (eg., Buffer) SM 2 (eg., Network) Event Channels Lookup / Translation Dionisys Library Dionisys Library RPCs

Computer Science MEDEA  Provides “event-channels” for communication  One source (a monitor)  Potentially many destinations (handlers)  Events are asynchronous but may be cascaded  Provides cross-host, cross-address-space & cross-protection-domain communication  e.g., kernel upcalls  Uses “mailbox” abstractions:  One outbox for every monitor  One inbox for every service manager

Computer Science Decoupled Management & Delivery  MEDEA provides an API for unrestricted event-driven communication Handlers Service Manager Event Mailboxes Event Dispatcher & Receiver Monitors

Computer Science MEDEA Features  Can batch or select single events for delivery  Supports “fast” syscalls that do not block & real-time upcalls  Coordinated user-level event delivery and handling  Prioritized event delivery  Can dispatch (receive) events from (into) mailboxes according to an ordering policy  Real-time event delivery is possible

Computer Science SafeX  Allows app-specific service extensions to be dynamically-linked into kernel address space  Can deploy code on remote hosts  Provides compile- and run-time support to:  Enforce bounded execution of extensions  Guarantee service isolation (using “guard” fns)  Maintain system integrity

Computer Science SafeX Features  Extensions written in Popcorn & compiled into Typed Assembly Language (TAL)  Memory protection:  Prevents forging pointers to arbitrary addresses  Prevents de-allocation of memory until safe  CPU protection:  Requires resource reservation for extensions  Aborts extensions exceeding reservations  Interfaces to synchronization objects

Computer Science A Kernel Service Manager Attribute Classes Handlers Class 1 Class 2 Class k Kernel Service Manager get_attributes() set_attributes() Kernel policy-specific structures Kernel timer queue of bottom half (SM) functions Guard fn Monitors Events out Events in

Computer Science Experimental Scenario  CPU service manager monitors CPU utilization and adapts process timeslices  Timeslices adjusted by PID function of target & actual CPU usage  Monitoring performed every 10mS  Kernel monitoring functions invoked via timer queue  User-level approach periodically reads /proc/pid/stat  Adapts service via kill() syscalls

Computer Science Monitors and Handlers void monitor () { actual_cpu = get_attribute (“actual_cpu”); target_cpu = get_attribute (“target_cpu”); raise_event (“Error”, target_cpu - actual_cpu); } void handler () { e[n] = ev.value; // nth sampled error /* Update timeslice adjustment by PID fn of error */ u[n] = (Kp+Kd+Ki).e[n] - Kd.e[n-1] + u[n-1]; set_attribute (“timeslice-adjustment”, u[n]); }

Computer Science Guard Functions // Check the QoS safe updates to a process’ timeslice default_timeslice = target_cpu; guard (attribute, value): if (attribute == “timeslice-adjustment”) if (value in range [0, 0.25*default_timeslice]) if (value is QoS safe) timeslice = target_cpu + value;

Computer Science CPU Service Management -1  3 CPU-bound tasks w/ 30, 20 & 10% target CPU shares  Less service oscillation in left graph for kernel service management  Transient overloads do not affect service guarantees

Computer Science CPU Service Management -2  3 MPEG processes with 40, 30 & 20% target CPU shares  Finer-grained kernel service management is capable of sustaining 20% CPU utilization for 3 rd process (left graph)  User-level management (right graph) cannot meet needs of process with target 20% CPU utilization % of CPU time (seconds) % of CPU time (seconds)

Computer Science Conclusions  Linux Dionisys supports service extensions to customize system for app-specific needs  SafeX verifies safety of extensions  Extensions may be dynamically-linked into local & remote address spaces  MEDEA provides event-based communication mechanism that triggers service adaptations  Overall system improves service to applications