Computer Science Surplus Fair Scheduling: A Proportional-Share Scheduling Algorithm for Symmetric Multiprocessors Abhishek Chandra Micah Adler Pawan Goyal.

Slides:



Advertisements
Similar presentations
Computer Science Lecture 6, page 1 CS677: Distributed OS Processes and Threads Processes and their scheduling Multiprocessor scheduling Threads Distributed.
Advertisements

Application Performance in the QLinux Multimedia Operating System Jun Wang Jun Wang.
CPU Scheduling Tanenbaum Ch 2.4 Silberchatz and Galvin Ch 5.
CSC 322 Operating Systems Concepts Lecture - 11: by Ahmed Mumtaz Mustehsan Special Thanks To: Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall,
Operating Systems CSE 411 CPU Management Sept Lecture 7 Instructor: Bhuvan Urgaonkar.
Chapter 1 CSF 2009 Computer Performance. Defining Performance Which airplane has the best performance? Chapter 1 — Computer Abstractions and Technology.
Operating Systems 1 K. Salah Module 2.1: CPU Scheduling Scheduling Types Scheduling Criteria Scheduling Algorithms Performance Evaluation.
Computer Science Deadline Fair Scheduling: Bridging the Theory and Practice of Proportionate-Fair Scheduling in Multiprocessor Servers Abhishek Chandra.
Processes, Threads and Scheduling OS Lecture #4. Processes Unit of resource allocation in the OS Allocation of space Clock time The abstraction of a process.
Surplus Fair Scheduling Ricardo A. Baratto COMS E6118 – Spring 2004.
U NIVERSITY OF M ASSACHUSETTS, A MHERST – Department of Computer Science Quantifying the Benefits of Resource Multiplexing in On-Demand Data Centers Abhishek.
Computer Science Scalability of Linux Event-Dispatch Mechanisms Abhishek Chandra University of Massachusetts Amherst David Mosberger Hewlett Packard Labs.
Towards Resource Aware Applications and Systems Michael B. Jones Microsoft Research.
Introduction  What is an Operating System  What Operating Systems Do  How is it filling our life 1-1 Lecture 1.
CS 104 Introduction to Computer Science and Graphics Problems Operating Systems (2) Process Management 10/03/2008 Yang Song (Prepared by Yang Song and.
EET 4250: Chapter 1 Performance Measurement, Instruction Count & CPI Acknowledgements: Some slides and lecture notes for this course adapted from Prof.
Operating Systems Operating System Support for Multimedia.
OS Fall ’ 02 Performance Evaluation Operating Systems Fall 2002.
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Emery Berger University of Massachusetts, Amherst Operating Systems CMPSCI 377 Lecture.
Resource Management in Virtualization-based Data Centers Bhuvan Urgaonkar Computer Systems Laboratory Pennsylvania State University Bhuvan Urgaonkar Computer.
Computer Science 1 Resource Overbooking and Application Profiling in Shared Hosting Platforms Bhuvan Urgaonkar Prashant Shenoy Timothy Roscoe † UMASS Amherst.
1 Scheduling I/O in Virtual Machine Monitors© 2008 Diego Ongaro Scheduling I/O in Virtual Machine Monitors Diego Ongaro, Alan L. Cox, and Scott Rixner.
Operating Systems Part III: Process Management (CPU Scheduling)
CPU Scheduling Chapter 6 Chapter 6.
Computer Architecture and Operating Systems CS 3230: Operating System Section Lecture OS-3 CPU Scheduling Department of Computer Science and Software Engineering.
CSC 360- Instructor: K. Wu CPU Scheduling. CSC 360- Instructor: K. Wu Agenda 1.What is CPU scheduling? 2.CPU burst distribution 3.CPU scheduler and dispatcher.
Introduction and Overview Questions answered in this lecture: What is an operating system? How have operating systems evolved? Why study operating systems?
Resource Management for Robotic Applications ICESS-11 Changsha, China Nov Yi-Zong Ou Department of Computer Science National Tsing-Hua University,
Integrating Fine-Grained Application Adaptation with Global Adaptation for Saving Energy Vibhore Vardhan, Daniel G. Sachs, Wanghong Yuan, Albert F. Harris,
1 Previous lecture review n Out of basic scheduling techniques none is a clear winner: u FCFS - simple but unfair u RR - more overhead than FCFS may not.
EmNet: Satisfying The Individual User Through Empathic Home Networks J. Scott Miller, John R. Lange & Peter A. Dinda Department of Electrical Engineering.
C OMPUTER O RGANIZATION AND D ESIGN The Hardware/Software Interface 5 th Edition Chapter 1 Computer Abstractions and Technology Sections 1.5 – 1.11.
1 Scheduling The part of the OS that makes the choice of which process to run next is called the scheduler and the algorithm it uses is called the scheduling.
Operating Systems CSE 411 Multi-processor Operating Systems Multi-processor Operating Systems Dec Lecture 30 Instructor: Bhuvan Urgaonkar.
Computer Science 1 Resource Overbooking and Application Profiling in Shared Hosting Platforms Bhuvan Urgaonkar Prashant Shenoy Timothy Roscoe † UMASS Amherst.
Virtual-Time Round-Robin: An O(1) Proportional Share Scheduler By Jason Nieh, etc Xiaojun Wang 10/07/2005.
Job scheduling algorithm based on Berger model in cloud environment Advances in Engineering Software (2011) Baomin Xu,Chunyan Zhao,Enzhao Hua,Bin Hu 2013/1/251.
Computer Science Lecture 7, page 1 CS677: Distributed OS Multiprocessor Scheduling Will consider only shared memory multiprocessor Salient features: –One.
Operating System Principles And Multitasking
Real-Time Support for Mobile Robotics K. Ramamritham (+ Li Huan, Prashant Shenoy, Rod Grupen)
Application Performance in the QLinux Multimedia Operating System Sundaram, A. Chandra, P. Goyal, P. Shenoy, J. Sahni and H. Vin Umass Amherst, U of Texas.
DynamicMR: A Dynamic Slot Allocation Optimization Framework for MapReduce Clusters Nanyang Technological University Shanjiang Tang, Bu-Sung Lee, Bingsheng.
CPS3340 COMPUTER ARCHITECTURE Fall Semester, /03/2013 Lecture 3: Computer Performance Instructor: Ashraf Yaseen DEPARTMENT OF MATH & COMPUTER SCIENCE.
Lecture Topics: 11/15 CPU scheduling: –Scheduling goals and algorithms.
CS4315A. Berrached:CMS:UHD1 Introduction to Operating Systems Chapter 1.
Presented by Qifan Pu With many slides from Ali’s NSDI talk Ali Ghodsi, Matei Zaharia, Benjamin Hindman, Andy Konwinski, Scott Shenker, Ion Stoica.
Univ. of TehranDistributed Operating Systems1 Advanced Operating Systems University of Tehran Dept. of EE and Computer Engineering By: Dr. Nasser Yazdani.
Dominant Resource Fairness: Fair Allocation of Multiple Resource Types Ali Ghodsi, Matei Zaharia, Benjamin Hindman, Andy Konwinski, Scott Shenker, Ion.
Stride Scheduling: Deterministic Proportional-Share Resource Management Carl A. Waldspurger, William E. Weihl MIT Laboratory for Computer Science Presenter:
Scheduling.
CS161 – Design and Architecture of Computer Systems
Performance Lecture notes from MKP, H. H. Lee and S. Yalamanchili.
Wireless Fair Scheduling
Wireless Scheduling.
Sujata Ray Dey Maheshtala College Computer Science Department
Wireless Scheduling.
Morgan Kaufmann Publishers
Chapter 2 Scheduling.
Lottery Scheduling Ish Baid.
Lecture 23: Process Scheduling for Interactive Systems
Process Scheduling B.Ramamurthy 11/18/2018.
CS140 – Operating Systems Midterm Review
Scheduling.
Sujata Ray Dey Maheshtala College Computer Science Department
Cloud Computing VM Scheduling
CPU Scheduling David Ferry CSCI 3500 – Operating Systems
Uniprocessor scheduling
Process Management -Compiled for CSIT
Don Porter Portions courtesy Emmett Witchel
CPU Scheduling David Ferry CSCI 3500 – Operating Systems
Presentation transcript:

Computer Science Surplus Fair Scheduling: A Proportional-Share Scheduling Algorithm for Symmetric Multiprocessors Abhishek Chandra Micah Adler Pawan Goyal † Prashant Shenoy UMASS Amherst and † Ensim Corporation

Computer Science Motivation  Diverse web and multimedia applications popular  HTTP, Streaming, e-commerce, games, etc.  Applications hosted on large servers (typically multiprocessors)  Key Challenge: Design OS mechanisms for Resource Management End-stations Network Server Streaming E-commerce Web

Computer Science Requirements for OS Resource Management  Fair, Proportionate Allocation  Eg: 20% for http, 30% for streaming, etc.  Application Isolation  Misbehaving/overloaded applications should not affect other applications  Efficiency  OS mechanisms should have low overheads Focus: Achieving these objectives for CPU scheduling on multiprocessor machines

Computer Science Outline  Motivation  Proportional-Share Scheduling  Weight Readjustment  Surplus Fair Scheduling  Experimental Evaluation  Concluding Remarks

Computer Science Proportional-Share Scheduling  Associate a weight with each application and allocate CPU bandwidth proportional to weight  Existing Algorithms  Ideal algorithm: Generalized Processor Sharing  E.g.: WFQ, SFQ, SMART, BVT, etc.  Question: Are the existing algorithms adequate for multiprocessor systems? Wt=2 Wt=1 2/31/3 CPU bandwidth Applications

Computer Science Starvation Problem  SFQ : Start tag of a thread ( Service / weight )  Schedules the thread with minimum start tag CPU 1 CPU C arrives B starves Time A (Wt=100) B (Wt=1) C (Wt=1) S1=10 S1=11 S1=0 S1=1 S2=0 S2=100S2=1000 S3=10S3=110 CPU 2...

Computer Science Weight Readjustment  Reason for starvation:  Infeasible Weight Assignment (eg: 1:100 for 2 CPUs)  Accounting is different from actual allocation  Observation:  A thread can’t consume more than 1 CPU bandwidth  A thread can be assigned at most (1/p) of total CPU bandwidth  Feasibility Constraint:

Computer Science Weight Readjustment (contd.)... CPU 1CPU 2CPU 3 CPU p Decreasing Order of weights  Efficient: Algorithm is O(p)  Can be combined with existing algorithms  Goal: Convert given weights to feasible weights

Computer Science Effect of Readjustment SFQ without Readjustment Number of iterations (10 5 ) Time (s) SFQ with Readjustment Time (s)  Weight Readjustment gets rid of starvation problem A (wt=10) B (wt=1) C (wt=1) A (wt=10) B (wt=1) C (wt=1)

Computer Science Short Jobs Problem SFQ J1, wt=20 J2-J21, wt=1x20 J_short, wt=5 Time (s) Ideal J1, wt=20 J2-J21, wt=1x20 J_short, wt=5 Time (s)  Frequent arrivals and departures of short jobs SFQ does unfair allocation! Number of iterations (10 5 )

Computer Science Surplus Fair Scheduling Service received by thread i Ideal Actual Time Surplus t  Scheduler picks the threads with least surplus values  Lagging threads get closer to their due  Threads that are ahead are restrained Surplus = Service Actual - Service Ideal

Computer Science Surplus Fair Scheduling (contd.)  Start tag (S i ) : Weighted Service of thread i S i = Service i / w i  Virtual time (v) : Minimum start tag of all runnable threads  Surplus (α i ) : α i = Service i - Service lagging = w i S i - w i v  Scheduler selects threads in increasing order of surplus

Computer Science Surplus Fair Sched with Short Jobs Surplus Fair Sched Time (s) Ideal Time (s) Number of iterations (10 5 )  Surplus Fair Scheduling does proportionate allocation J1, wt=20 J2-J21, wt=1x20 J_short, wt=5 J1, wt=20 J2-J21, wt=1x20 J_short, wt=5

Computer Science Outline  Motivation  Proportional-Share Scheduling  Weight Readjustment  Surplus Fair Scheduling  Experimental Evaluation  Concluding Remarks

Computer Science Requirements for OS Resource Management  Fair, Proportionate Allocation  Eg: 20% for web, 30% for streaming, etc.  Application Isolation  Misbehaving/overloaded applications should not affect other applications  Efficiency  OS mechanisms should have low overheads

Computer Science Proportionate Allocation :11:21:41:7 Processor Shares received by two web servers Processor Allocation (Normalized) Weight Assignment

Computer Science Application Isolation MPEG decoder with background compilations Frame Rate (frames/sec) Number of background compilations Surplus Fair Time-sharing

Computer Science Scheduling Overhead Surplus Fair Time-sharing Context switch time (microsec) Number of processes  Context-switch time(~10μ s) vs. Quantum size (~100ms)

Computer Science Related Work  CPU Reservations [Jones99]  Uniprocessor proportional-share:  Hierarchical Scheduling [Goyal96]  BVT [Duda99], SMART [Nieh97]  Lottery Scheduling [Waldspurger94]

Computer Science Summary  Existing proportional-share algorithms inadequate for multiprocessors  Readjustment Algorithm can reduce unfairness  Surplus Fair Scheduling practical for multiprocessors  Achieves proportional fairness, isolation  Has low overhead  Heuristics for incorporating processor affinity  Source code available at: