Stride Scheduling: Deterministic Proportional-Share Resource Management Carl A. Waldspurger, William E. Weihl MIT Laboratory for Computer Science Presenter:

Slides:



Advertisements
Similar presentations
CS 443 Advanced OS Fabián E. Bustamante, Spring 2005 Memory Resource Management in VMware ESX Server Carl A. Waldspurger VMware, Inc. Appears in SOSDI.
Advertisements

LOTTERY SCHEDULING: FLEXIBLE PROPORTIONAL-SHARE RESOURCE MANAGEMENT
1 EP2210 Fairness Lecture material: –Bertsekas, Gallager, Data networks, 6.5 –L. Massoulie, J. Roberts, "Bandwidth sharing: objectives and algorithms,“
Resource Management §A resource can be a logical, such as a shared file, or physical, such as a CPU (a node of the distributed system). One of the functions.
Operating Systems CSE 411 CPU Management Sept Lecture 7 Instructor: Bhuvan Urgaonkar.
Implementation and Study of a “Term” based Role Playing Game using Client Server Paradigm. Vaithiyanathan Sundaram.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 19 Scheduling IV.
What’s the Problem Web Server 1 Web Server N Web system played an essential role in Proving and Retrieve information. Cause Overloaded Status and Longer.
Using DSVM to Implement a Distributed File System Ramon Lawrence Dept. of Computer Science
G Robert Grimm New York University Lottery Scheduling.
© nCode 2000 Title of Presentation goes here - go to Master Slide to edit - Slide 1 Reliable Communication for Highly Mobile Agents ECE 7995: Term Paper.
Tao Yang, UCSB CS 240B’03 Unix Scheduling Multilevel feedback queues –128 priority queues (value: 0-127) –Round Robin per priority queue Every scheduling.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Parallel Programming in C with MPI and OpenMP Michael J. Quinn.
Scheduling CS623, Lecture 7 3/9/2004 © Joel Wein, updated by T. Suel.
Introduction to Parallel Rendering: Sorting, Chromium, and MPI Mengxia Zhu Spring 2006.
Grid Load Balancing Scheduling Algorithm Based on Statistics Thinking The 9th International Conference for Young Computer Scientists Bin Lu, Hongbin Zhang.
Strategies for Implementing Dynamic Load Sharing.
Computer Science Surplus Fair Scheduling: A Proportional-Share Scheduling Algorithm for Symmetric Multiprocessors Abhishek Chandra Micah Adler Pawan Goyal.
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Emery Berger University of Massachusetts, Amherst Operating Systems CMPSCI 377 Lecture.
Load Balancing Dan Priece. What is Load Balancing? Distributed computing with multiple resources Need some way to distribute workload Discreet from the.
Dynamic and Decentralized Approaches for Optimal Allocation of Multiple Resources in Virtualized Data Centers Wei Chen, Samuel Hargrove, Heh Miao, Liang.
Lottery Scheduling: Flexible Proportional-Share Resource Management Sim YounSeok C. A. Waldspurger and W. E. Weihl.
Chapter 3 Parallel Algorithm Design. Outline Task/channel model Task/channel model Algorithm design methodology Algorithm design methodology Case studies.
Embedded System Lab. 오명훈 Memory Resource Management in VMware ESX Server Carl A. Waldspurger VMware, Inc. Palo Alto, CA USA
StreamX10: A Stream Programming Framework on X10 Haitao Wei School of Computer Science at Huazhong University of Sci&Tech.
4: Network Layer4-1 Schedule Today: r Finish Ch3 r Collect 1 st Project r See projects run r Start Ch4 Soon: r HW5 due Monday r Last chance for Qs r First.
A Cyclic-Executive-Based QoS Guarantee over USB Chih-Yuan Huang,Li-Pin Chang, and Tei-Wei Kuo Department of Computer Science and Information Engineering.
Virtual-Time Round-Robin: An O(1) Proportional Share Scheduler By Jason Nieh, etc Xiaojun Wang 10/07/2005.
1 Kansas City CMG, 2005 Ethan Bolker and Yiping Ding October, 2005 Virtual performance won't do : Capacity planning for virtual systems.
1 Virtual Machine Memory Access Tracing With Hypervisor Exclusive Cache USENIX ‘07 Pin Lu & Kai Shen Department of Computer Science University of Rochester.
Lecture 4 TTH 03:30AM-04:45PM Dr. Jianjun Hu CSCE569 Parallel Computing University of South Carolina Department of.
Operating Systems CMPSC 473 CPU Scheduling September 07, Lecture 5 Instructor: Bhuvan Urgaonkar.
DynamicMR: A Dynamic Slot Allocation Optimization Framework for MapReduce Clusters Nanyang Technological University Shanjiang Tang, Bu-Sung Lee, Bingsheng.
Lecture 8: Lottery Scheduling 1. Class Plan Lottery scheduling: – Motivation – Solution proposed Group work and answers on: – Implementation issues: challenges?
Full and Para Virtualization
Static Process Scheduling
MSc in High Performance Computing Computational Chemistry Module Parallel Molecular Dynamics (i) Bill Smith CCLRC Daresbury Laboratory
SIP-Based or DHT-Based? November 12, 2005 Eunsoo Shim Panasonic Digital Networking Laboratory P2P SIP Ad-hoc Meeting IETF64, Vancouver.
Operating Systems CPU Scheduling Algorithms
A Bandwidth Scheduling Algorithm Based on Minimum Interference Traffic in Mesh Mode Xu-Yajing, Li-ZhiTao, Zhong-XiuFang and Xu-HuiMin International Conference.
Memory Resource Management in VMware ESX Server By Carl A. Waldspurger Presented by Clyde Byrd III (some slides adapted from C. Waldspurger) EECS 582 –
Dynamic Load Balancing Tree and Structured Computations.
R2C2: A Network Stack for Rack-scale Computers Paolo Costa, Hitesh Ballani, Kaveh Razavi, Ian Kash Microsoft Research Cambridge EECS 582 – W161.
Lecture 12 Scheduling Models for Computer Networks Dr. Adil Yousif.
Process Scheduling. Scheduling Strategies Scheduling strategies can broadly fall into two categories  Co-operative scheduling is where the currently.
The Biologically Inspired Distributed File System: An Emergent Thinker Instantiation Presented by Dr. Ying Lu.
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.
Virtual-Time Round-Robin: An O(1) Proportional Share Scheduler Jason Nieh, Chris Vaill, Hua Zhong Columbia University Presented by Adam Binford.
Constant Time Updates in Hierarchical Heavy Hitters
Exploiting Sharing for Data Center Consolidation
Advanced Operating Systems (CS 202) Scheduling (2)
Network Layer Goals: Overview:
Mean Value Analysis of a Database Grid Application
Lecture 24: Process Scheduling Examples and for Real-time Systems
Lottery Scheduling: Flexible Proportional-Share Resource Management
Bank-aware Dynamic Cache Partitioning for Multicore Architectures
Parallel Programming in C with MPI and OpenMP
Comparison of the Three CPU Schedulers in Xen
Lottery Scheduling Ish Baid.
Lecture 23: Process Scheduling for Interactive Systems
CS 3204 Operating Systems Lecture 14 Godmar Back.
Cluster Resource Management: A Scalable Approach
Lottery Meets Wireless
Virtual-Time Round-Robin: An O(1) Proportional Share Scheduler
COMP60621 Fundamentals of Parallel and Distributed Systems
Constant Time Updates in Hierarchical Heavy Hitters
Parallel Programming in C with MPI and OpenMP
CSE 542: Operating Systems
COMP60611 Fundamentals of Parallel and Distributed Systems
Approximate Mean Value Analysis of a Database Grid Application
Presentation transcript:

Stride Scheduling: Deterministic Proportional-Share Resource Management Carl A. Waldspurger, William E. Weihl MIT Laboratory for Computer Science Presenter: Dong-hyeon Park EECS 582 – W161

Background: Proportional-Share Schedulers Lottery and stride scheduling proposed by Carl A. Waldspurger from MIT in 1995 Inspired by rate-based network flow control algorithms Poor adoption as a CPU scheduler Not suitable for interactive workloads Difficult to calculate the correct ticket allocation Success in virtualized data centers Memory resource management on VMWare’s ESX Server EECS 582 – W162

Problems in Lottery Scheduling Allocation Error over Time EECS 582 – W163 Time (quanta) Client Response Time Growing ErrorHigh Variability

Stride Scheduling – Basic Algorithm EECS 582 – W164 Select Client with Minimum Pass Advance Client’s Pass by Client’s Stride

Stride Scheduling – Basic Algorithm EECS 582 – W165 3:2:1 Allocation ∆ - A (stride = 2) ○ - B (stride = 3) □ - C (stride = 6) Time 1:236 Time 2:436 +2

Stride Scheduling – Basic Algorithm EECS 582 – W166 3:2:1 Allocation ∆ - A (stride = 2) ○ - B (stride = 3) □ - C (stride = 6) Time 1:236 Time 2:436 Time 3:

Stride Scheduling – Basic Algorithm EECS 582 – W167 3:2:1 Allocation ∆ - A (stride = 2) ○ - B (stride = 3) □ - C (stride = 6) Time 1:236 Time 2:436 Time 3: Time 4:666 +2

Stride Scheduling – Basic Algorithm EECS 582 – W168 Time 1:236 Time 2:436 Time 3: Time 4: … 3:2:1 Allocation ∆ - A (stride = 2) ○ - B (stride = 3) □ - C (stride = 6)

Dynamic Resource Allocation Dynamic Client Participation Allow clients to join and leave freely, while keeping the schedule fair. Global variables to maintain aggregate information: global_ticket: total ticket sum of all active clients global_pass: current pass for the global scheduler EECS 582 – W169

Dynamic Resource Allocation Dynamic Ticket Modification Allow scheduler to change ticket allocation dynamically Scales the client’s existing pass to be proportional to the new ticket EECS 582 – W1610

Problem with Stride Scheduling Relative throughput error of stride scheduling for any pair of clients is guaranteed to be less than or equal to one quantum ex) 101 clients with 100:1:1:…:1 allocation: EECS 582 – W1611 BUT First 100 allocations can be given to the biggest client A

Hierarchical Stride Scheduling Combine clients into groups to balance the ticket load Apply the basic stride scheduling algorithm recursively EECS 582 – W tickets stride pass Initialized with: pass = stride Starting from root, follow the path with smaller pass value. Once the client use the resource, traverse up the tree and update the pass.

Throughput Error Comparison EECS 582 – W1613 Time (quanta) Absolute Error (quanta) Error is independent of the allocation time in stride scheduling Hierarchical stride scheduling has more balance distribution of error between clients.

EECS 582 – W1614 Time (quanta) Absolute Error (quanta) Response-Time Comparison Little to no variability in response time from stride scheduling. Hierarchical stride scheduling has slightly worse response time for some clients.

Accuracy of Prototype Implementation Lottery and Stride Scheduler implemented on real-system. Stride scheduler stayed within 1% of ideal ratio. Low system overhead relative to standard Linux scheduler. EECS 582 – W1615 Lottery Scheduler Stride Scheduler

Stride Scheduler Overview Deterministic, proportional-share scheduler EECS 582 – W1616 PROS CONS

Stride Scheduler for Operating Systems? Stride scheduling do not work well with I/O-type workloads Do not “reward” when a process goes to sleep. How to determine ticket assignment? How many tickets should you assign to each application? Works well in environments with well-defined allocation of resource and fairness is important Virtualized data centers EECS 582 – W1617

Questions? EECS 582 – W1618