Deterministic ProportionalShare Resource Management Carl A Waldspurger William E Weihl MIT Laboratory for Computer Science Presenter Donghyeon Park EECS 582 W16 1 Background ProportionalShare Schedulers ID: 509360
Download Presentation The PPT/PDF document "Stride Scheduling:" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
Stride Scheduling:Deterministic Proportional-Share Resource Management
Carl A. Waldspurger, William E. WeihlMIT Laboratory for Computer SciencePresenter: Dong-hyeon Park
EECS 582 – W16
1Slide2
Background: Proportional-Share Schedulers
Lottery and stride scheduling proposed by Carl A. Waldspurger from MIT in 1995Inspired by rate-based network flow control algorithmsPoor adoption as a CPU schedulerNot suitable for interactive workloadsDifficult to calculate the correct ticket allocation
Success in virtualized data centersMemory resource management on VMWare’s ESX Server
EECS 582 – W16
2Slide3
Problems in Lottery Scheduling
Allocation Error over TimeEECS 582 – W163
Time (quanta)
Client Response Time
Growing Error
High VariabilitySlide4
Stride Scheduling – Basic Algorithm
Client Variables:Tickets Relative resource allocationStrides (
Interval between selection
Pass
(
Virtual index of next selection
- minimum ticket allocation
EECS 582 – W16
4
Select Client with Minimum Pass
Advance Client’s Pass by Client’s StrideSlide5
Stride Scheduling – Basic Algorithm
EECS 582 – W165
3:2:1 Allocation
∆ - A (stride = 2)
○ - B (stride = 3)
□ - C (stride = 6)
Time 1:
2
3
6
Time 2:
4
3
6
+2Slide6
Stride Scheduling – Basic Algorithm
EECS 582 – W166
3:2:1 Allocation
∆ - A (stride = 2)
○ - B (stride = 3)
□ - C (stride = 6)
Time 1:
2
3
6
Time 2:
4
3
6
Time 3:
4
6
6
+2
+3Slide7
Stride Scheduling – Basic Algorithm
EECS 582 – W167
3:2:1 Allocation
∆ - A (stride = 2)
○ - B (stride = 3)
□ - C (stride = 6)
Time 1:
2
3
6
Time 2:
4
3
6
Time 3:
4
6
6
+2
+3
Time 4:
6
6
6
+2Slide8
Stride Scheduling – Basic Algorithm
EECS 582 – W168
Time 1:
2
3
6
Time 2:
4
3
6
Time 3:
4
6
6
+2
+3
Time 4:
6
6
6
+2
…
3:2:1 Allocation
∆ - A (stride = 2)
○ - B (stride = 3)
□ - C (stride = 6)Slide9
Dynamic Resource AllocationDynamic 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 clientsglobal_pass: current pass for the global scheduler
EECS 582 – W16
9
client_leave()
Calculate the
remain
variable of client
client_join()
Updates client’s pass to take into account the resources given when it left
Slide10
Dynamic Resource AllocationDynamic Ticket Modification
Allow scheduler to change ticket allocation dynamicallyScales the client’s existing pass to be proportional to the new ticketEECS 582 – W16
10
Slide11
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 quantumex) 101 clients with 100:1:1:…:1 allocation:EECS 582 – W16
11
BUT
Absolute
error can be
in the worst case
First 100 allocations can be given to the biggest client A
Expected Allocations on A:
Absolute Error:
Slide12
Hierarchical Stride Scheduling
Combine clients into groups to balance the ticket loadApply the basic stride scheduling algorithm recursivelyEECS 582 – W1612
18
12
10
2
5
1
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.Slide13
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. Slide14
EECS 582 – W16
14
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.Slide15
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 – W16
15
Lottery Scheduler
Stride SchedulerSlide16
Stride Scheduler OverviewDeterministic, proportional-share scheduler
EECS 582 – W1616
Well-defined response time for each client
Throughput error is independent of
Relative error do not exceed one quantum
Efficient dynamic allocation
Absolute error can be
for worst-case
for
hierarchial
Poor performance on interactive jobs
PROS
CONSSlide17
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 importantVirtualized data centers
EECS 582 – W16
17Slide18
Questions?
EECS 582 – W1618