/
Stride Scheduling: Stride Scheduling:

Stride Scheduling: - PowerPoint Presentation

conchita-marotz
conchita-marotz . @conchita-marotz
Follow
418 views
Uploaded On 2017-01-13

Stride Scheduling: - PPT Presentation

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

time stride 582 w16 stride time w16 582 eecs scheduling error allocation pass scheduler client ticket resource basic algorithm

Share:

Link:

Embed:

Download Presentation from below link

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.


Presentation Transcript

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