Towards Resource Aware Applications and Systems Michael B. Jones Microsoft Research.

Slides:



Advertisements
Similar presentations
Lecture 11: Operating System Services. What is an Operating System? An operating system is an event driven program which acts as an interface between.
Advertisements

CS 443 Advanced OS Fabián E. Bustamante, Spring 2005 Resource Containers: A new Facility for Resource Management in Server Systems G. Banga, P. Druschel,
Maninder Kaur OPERATING SYSTEM Maninder Kaur 11 Oct 2010.
Continuous Media 1 Differs significantly from textual and numeric data because of two fundamental characteristics: –Real-time storage and retrieval –High.
1 Augmented CPU Reservations John Regehr John A. Stankovic University of Virginia May 31, 2001.
CS 345 Computer System Overview
Introduction to Operating Systems CS-2301 B-term Introduction to Operating Systems CS-2301, System Programming for Non-majors (Slides include materials.
CPU Reservations and Time Constraints: Implementation Experience on Windows NT John Regehr – University of Virginia Michael B. Jones – Microsoft Research.
Operating systems This work is licensed under a Creative Commons Attribution-Noncommercial- Share Alike 3.0 License. Skills: none IT concepts: popular.
1 Predictable Scheduling for a Soft Modem Michael B. Jones – Microsoft Research Stefan Saroiu – University of Washington.
Supporting Time-sensitive Application on a Commodity OS By Ashvin Goel, Luca Abeni, Charles Krasic, Jim Snow, Jonathan Walpole Presenter: Shuping Tien.
User studies. Why user studies? How do we know security and privacy solutions are really usable? Have to observe users! –you may be surprised by what.
Chapter 11 Operating Systems
Interpret Application Specifications
Building Resource-Aware Applications and Systems Michael B. Jones Microsoft Research.
Chapter 3 Overview of Operating Systems Copyright © 2008.
U NIVERSITY OF M ASSACHUSETTS, A MHERST – Department of Computer Science Resource containers: A new facility for resource management in server systems.
Energy Model for Multiprocess Applications Texas Tech University.
Types of Operating Systems
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.
Operating System.
Chapter 3  Manage the computer’s resources ◦ CPU ◦ Memory ◦ Disk drives ◦ Printers  Establish a user interface  Execute and provide services for applications.
Week 6 Operating Systems.
Operating Systems What do you have left on your computer after you strip away all of the games and application programs you bought and installed? Name.
Improving productivity with online collaboration © 2015 albert-learning.com Improving productivity with online collaboration.
Chapter 4: What is an operating system?. What is an operating system? A program or collection of programs that coordinate computer usage among users and.
 Introduction to Operating System Introduction to Operating System  Types Of An Operating System Types Of An Operating System  Single User Single User.
Predictable Scheduling for a Soft Modem Stefan Saroiu – University of Washington Michael.
Processes and OS basics. RHS – SOC 2 OS Basics An Operating System (OS) is essentially an abstraction of a computer As a user or programmer, I do not.
Slide 1 Tomorrow’s Technology and You Chapter 4 Software © 2006 Prentice-Hall, Inc.
1 Distributed Energy-Efficient Scheduling for Data-Intensive Applications with Deadline Constraints on Data Grids Cong Liu and Xiao Qin Auburn University.
NUS.SOC.CS5248 Ooi Wei Tsang 1 CPU Scheduling. NUS.SOC.CS5248 Ooi Wei Tsang 2 Scheduling Task vs I/O Request Task computation time unpredictable Task.
Scheduling Lecture 6. What is Scheduling? An O/S often has many pending tasks. –Threads, async callbacks, device input. The order may matter. –Policy,
Silberschatz and Galvin  Operating System Concepts Module 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming.
ITFN 3601 Introduction to Operating Systems Lecture 3 Processes, Threads & Scheduling Intro.
February 02Page 1 Operating Systems Introduction.
Computers, part of your life – Grade 11
How to Buy a Computer Business Information Management
O PERATING S YSTEM. What is an Operating System? An operating system is an event driven program which acts as an interface between a user of a computer,
Principles of Information Systems, Sixth Edition Software: Systems and Application Software Chapter 4.
12/23/2015CSE 60641: Operating Systems1. Resource Containers: A New Facility for Resource Management in Server Systems. Gaurav Banga, Peter Druschel,
CSCI1600: Embedded and Real Time Software Lecture 24: Real Time Scheduling II Steven Reiss, Fall 2015.
Performance Performance is about time and the software system’s ability to meet timing requirements.
CSCI1600: Embedded and Real Time Software Lecture 23: Real Time Scheduling I Steven Reiss, Fall 2015.
Assoc. Prof. Dr. Ahmet Turan ÖZCERİT.  What Operating Systems Do  Computer-System Organization  Computer-System Architecture  Operating-System Structure.
Introduction TO Network Administration
Processor Memory Processor-memory bus I/O Device Bus Adapter I/O Device I/O Device Bus Adapter I/O Device I/O Device Expansion bus I/O Bus.
Optimized File Uploads in Mobile Cloud Computing Yash Sheth Vishal Sahu Swapnil Tiwari
Silberschatz, Galvin and Gagne ©2011 Operating System Concepts Essentials – 8 th Edition Chapter 2: The Linux System Part 3.
1.1 Sandeep TayalCSE Department MAIT 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming Batched Systems Time-Sharing Systems.
Unit 4: Processes, Threads & Deadlocks June 2012 Kaplan University 1.
Introduction  Program: Set of sequence instruction that tell the computer what to do.  Software: A collection of programs, data, and information. 
Silberschatz and Galvin  Operating System Concepts Module 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming.
Holding slide prior to starting show. Scheduling Parametric Jobs on the Grid Jonathan Giddy
The Purchase of a PC Robert Grauer and Maryann Barber.
Lecture 1: Network Operating Systems (NOS)
CONCEPTS OF REAL-TIME OPERATING SYSTEM. OBJECTIVE  To Understand Why we need OS?  To identify Types of OS  To Define Real - Time Systems  To Classify.
 Operating system.  Functions and components of OS.  Types of OS.  Process and a program.  Real time operating system (RTOS).
1 OPERATING SYSTEMS. 2 CONTENTS 1.What is an Operating System? 2.OS Functions 3.OS Services 4.Structure of OS 5.Evolution of OS.
CPU Scheduling Scheduling processes (or kernel-level threads) onto the cpu is one of the most important OS functions. The cpu is an expensive resource.
Introduction to Operating Systems
Chapter 1: Introduction
Andy Wang COP 5611 Advanced Operating Systems
Chapter 2 Scheduling.
Popular Operating Systems
Chapter 1: Introduction
Introduction to Operating Systems
The performance requirements for DSP applications continue to grow and the traditional solutions do not adequately address this new challenge Paradigm.
CSE 542: Operating Systems
Presentation transcript:

Towards Resource Aware Applications and Systems Michael B. Jones Microsoft Research

Goal: Coexisting Independent Real-time Applications  Independently developed  Predictable concurrent execution of  real-time and non-real-time apps  Meeting all apps’ timing needs  Informing apps when not possible

Overview  Need for Resource Management  Motivating Examples  Resource Awareness  Call to Action

Case for Explicit Resource Allocation and Accounting  Time-Sensitive applications need:  different resources  at different rates  in different amounts  Even infinite resources insufficient if not given to apps in timely fashion

Assumption: Multiple Tasks  Assumption:  Multiple concurrent tasks  At least one time sensitive  Many such tasks to choose from:  Media input, output  Speech, vision-based UIs  Software modems, sound cards,...  Industrial device control  etc.

One Real-Time Task Enough  Time aware resource management needed even if just one real-time task  Competing normal tasks can still cause real-time task to fail  Round-robin with to large a period  Fair share with too small a proportion

Motivation: User Interfaces  User interfaces can use all the resources, all the time!  Speech, vision understanding, implicit queries, etc. can use as much as they get  Must manage background activities’ resource usage so real work gets done  Low-latency responses required  Camera-based head motion parallax driving 3D virtual environment needs < 200ms response — ms ideal  Simple timesharing, priority schemes won’t get the right tasks done at the right times

Motivation: Reducing Costs  PC industry wants lower prices points  Buying choice different below ~$400  “Soft Migration” one means  Remove “extra” CPUs, such as modem DSP  $15 parts cost => ~$45 retail cost  Soft modems work well on 200MHz MMX  Sample processing rates  ~12ms in normal operation  ~1.5ms during training  Infeasible without appropriate scheduling

Motivation: Reliability  Denial of Service attacks steal resources  Resource management can guarantee resources to “good” clients  Example: Resource Container results protecting web servers from SIN attacks (Banga, Druschel, & Mogul: OSDI ’99)

Motivation: Consumer Real- Time Applications  Enable consumers to purchase or download applications  some of which have real-time needs  just like current shrink-wrapped & Internet applications today  with expectation independently developed apps will successfully coexist.

Resource Awareness  Only apps know their timing requirements  must have a vocabulary for expressing them  Only system can enforce resource guarantees  must do resource accounting  to fulfill negotiated resource guarantees  Both must be Resource Aware

Determining Application Resource Needs  Adaptive approach: 1.Observe own resource usage 2.Compute expected needs from past observations 3.Reserve appropriate resource amounts  Resource self-aware applications key  Only apps have knowledge to make appropriate resource tradeoffs  Uncertainty in amounts inherent  Caches, busses, CPU speeds, contention

Missing Information Paths In current general-purpose systems:  Apps can’t tell system:  when code needs to be executed  amounts of resources they need  System can’t tell apps:  whether deadlines will be met  amounts of resources available to them  Both flying blind

Call To Action  Future systems must provide:  Explicit resource management interfaces  Predictable low-latency scheduling  Enabling technology for:  User interface advances  Reduced cost computing  More reliable computing  Consumer real-time applications

Towards Resource Aware Applications and Systems Discussion