Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Stride Scheduling: Deterministic Proportional-Share Resource Management Carl A. Waldspurger, William E. Weihl MIT Laboratory for Computer Science Presenter:"— Presentation transcript:

1 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

2 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

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

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

5 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

6 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:466 +2 +3

7 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:466 +2 +3 Time 4:666 +2

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

9 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

10 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

11 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

12 Hierarchical Stride Scheduling Combine clients into groups to balance the ticket load Apply the basic stride scheduling algorithm recursively EECS 582 – W1612 18 12 10251 6 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.

13 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.

14 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.

15 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

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

17 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

18 Questions? EECS 582 – W1618


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

Similar presentations


Ads by Google