achieving predictable timing and fairness through ...anirban.org/anirbans-thesis-talk.pdfachieving...

42
Yet another new scheduler?! Our Design Objectives Our Approach Evaluation Summary Achieving Predictable Timing and Fairness Through Cooperative Polling Anirban (Ani) Sinha Department of Computer Science University of British Columbia November 2, 2007 Anirban (Ani) Sinha M.Sc Thesis Presentation

Upload: others

Post on 21-May-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Achieving Predictable Timing and Fairness Through ...anirban.org/anirbans-thesis-talk.pdfAchieving Predictable Timing and Fairness Through Cooperative Polling Anirban (Ani) Sinha Department

Yet another new scheduler?! Our Design Objectives Our Approach Evaluation Summary

Achieving Predictable Timing and FairnessThrough Cooperative Polling

Anirban (Ani) Sinha

Department of Computer ScienceUniversity of British Columbia

November 2, 2007

Anirban (Ani) Sinha M.Sc Thesis Presentation

Page 2: Achieving Predictable Timing and Fairness Through ...anirban.org/anirbans-thesis-talk.pdfAchieving Predictable Timing and Fairness Through Cooperative Polling Anirban (Ani) Sinha Department

Yet another new scheduler?! Our Design Objectives Our Approach Evaluation Summary

Outline

1 Yet another new scheduler?!Scheduling Challenges in a General Purpose OSEarlier Attempts to Address the IssuesThe Vanilla O(1) Scheduler

2 Our Design Objectives3 Our Approach

The Design of Our SchedulerThe AlgorithmsThe Implementation

4 EvaluationFairshare EvaluationCooperative Polling (+ policing) EvaluationPure Fairshare Vs Cooperative PollingExperiments with High Definition Video

5 SummaryAnirban (Ani) Sinha M.Sc Thesis Presentation

Page 3: Achieving Predictable Timing and Fairness Through ...anirban.org/anirbans-thesis-talk.pdfAchieving Predictable Timing and Fairness Through Cooperative Polling Anirban (Ani) Sinha Department

Yet another new scheduler?! Our Design Objectives Our Approach Evaluation Summary

Scheduling Challenges in a General Purpose OS

The Changing Computing Environment

Multimedia capable (soft) realtime applications areincreasingly becoming common.Many of these applications are adaptive:

They consume as much CPU resources as are available.Adaptive tasks keeps the system overloaded at all times(when adaptation is active).

They are peculiar:They are time-sensitive:

Have specific deadlines for doing certain jobs.

They are often both IO intensive with considerable CPUrequirements.

Other kinds of mixed workloads (e.g., security enabledweb-servers, databases) are also common.

Anirban (Ani) Sinha M.Sc Thesis Presentation

Page 4: Achieving Predictable Timing and Fairness Through ...anirban.org/anirbans-thesis-talk.pdfAchieving Predictable Timing and Fairness Through Cooperative Polling Anirban (Ani) Sinha Department

Yet another new scheduler?! Our Design Objectives Our Approach Evaluation Summary

Scheduling Challenges in a General Purpose OS

The New Challenges

Challenges for a task scheduler therefore are as follows:

Provide a good balance of overall throughput andtimeliness.Uphold work conservation

Maximum utilization of available CPU resources.

Allow graceful & coordinated adaptation.

Avoid starvation.

Use an effective strategy for load balancing in SMPenvironments.

We do not address the last issue in this work.

Anirban (Ani) Sinha M.Sc Thesis Presentation

Page 5: Achieving Predictable Timing and Fairness Through ...anirban.org/anirbans-thesis-talk.pdfAchieving Predictable Timing and Fairness Through Cooperative Polling Anirban (Ani) Sinha Department

Yet another new scheduler?! Our Design Objectives Our Approach Evaluation Summary

Earlier Attempts to Address the Issues

The space of multimedia scheduling for general purpose OS iswell explored:

Related Works

SMART: Jason Nieh and Monica S. Lam. The design,implementation and evaluation of SMART: a scheduler formultimedia applications. SOSP 1997.

BVT: Kenneth J. Duda and David R. Cheriton.Borrowed-virtual-time (BVT) scheduling: supportinglatency-sensitive threads in a general-purpose scheduler.SOSP 1999.

BEST: Scott A. Banachowski, Scott A. Brandt. The BESTscheduler for integrated processing of best-effort and softreal-time processes. MMCN 2002.

Anirban (Ani) Sinha M.Sc Thesis Presentation

Page 6: Achieving Predictable Timing and Fairness Through ...anirban.org/anirbans-thesis-talk.pdfAchieving Predictable Timing and Fairness Through Cooperative Polling Anirban (Ani) Sinha Department

Yet another new scheduler?! Our Design Objectives Our Approach Evaluation Summary

Earlier Attempts to Address the Issues

The drawbacks

Use of complicated schedulability analysis and/orkernel-userspace interaction mechanism.

Use of some notion of priorities that can lead to starvation.Dependence on CPU reservations (or assumption ofunderloaded system) for providing better timing.

Throw away work conservation.

Anirban (Ani) Sinha M.Sc Thesis Presentation

Page 7: Achieving Predictable Timing and Fairness Through ...anirban.org/anirbans-thesis-talk.pdfAchieving Predictable Timing and Fairness Through Cooperative Polling Anirban (Ani) Sinha Department

Yet another new scheduler?! Our Design Objectives Our Approach Evaluation Summary

The Vanilla O(1) Scheduler

The O(1) Scheduler Overview

Uses multi-level feedback queue scheduling algorithm.Uses static (nice levels) and dynamic priorities.

Affected by starvation and live locks.

Is not particularly effective for mixed IO and CPU boundworkloads.

Has rather large timeslices for high priority IO bound jobs(800 ms).Uninformed preemptions leads to poor adaptations.

No mechanism to achieve coordinated adaptation foradaptive workloads.

We do not discuss the new 2.6.23 CFS scheduler in this work.

Anirban (Ani) Sinha M.Sc Thesis Presentation

Page 8: Achieving Predictable Timing and Fairness Through ...anirban.org/anirbans-thesis-talk.pdfAchieving Predictable Timing and Fairness Through Cooperative Polling Anirban (Ani) Sinha Department

Yet another new scheduler?! Our Design Objectives Our Approach Evaluation Summary

The Vanilla O(1) Scheduler

The O(1) Scheduler Performance

Six VLC players playing one video each on Vanilla 2.6.20Kernel

0

5

10

15

20

25

30

20 40 60 80 100 120 140

Fra

mes

per

sec

ond

Video Position (s)

video 1video 2

video 3video 4

video 5video 6

Frame Rate

Anirban (Ani) Sinha M.Sc Thesis Presentation

Page 9: Achieving Predictable Timing and Fairness Through ...anirban.org/anirbans-thesis-talk.pdfAchieving Predictable Timing and Fairness Through Cooperative Polling Anirban (Ani) Sinha Department

Yet another new scheduler?! Our Design Objectives Our Approach Evaluation Summary

The Vanilla O(1) Scheduler

The O(1) Scheduler Performance

Six VLC players playing one video each on Vanilla 2.6.20Kernel

0

200

400

600

800

1000

60 80 100 120 140

Jitt

er (

mil

lise

con

ds)

Video Position (s)

Frame Jitter

Anirban (Ani) Sinha M.Sc Thesis Presentation

Page 10: Achieving Predictable Timing and Fairness Through ...anirban.org/anirbans-thesis-talk.pdfAchieving Predictable Timing and Fairness Through Cooperative Polling Anirban (Ani) Sinha Department

Yet another new scheduler?! Our Design Objectives Our Approach Evaluation Summary

Outline

1 Yet another new scheduler?!Scheduling Challenges in a General Purpose OSEarlier Attempts to Address the IssuesThe Vanilla O(1) Scheduler

2 Our Design Objectives3 Our Approach

The Design of Our SchedulerThe AlgorithmsThe Implementation

4 EvaluationFairshare EvaluationCooperative Polling (+ policing) EvaluationPure Fairshare Vs Cooperative PollingExperiments with High Definition Video

5 SummaryAnirban (Ani) Sinha M.Sc Thesis Presentation

Page 11: Achieving Predictable Timing and Fairness Through ...anirban.org/anirbans-thesis-talk.pdfAchieving Predictable Timing and Fairness Through Cooperative Polling Anirban (Ani) Sinha Department

Yet another new scheduler?! Our Design Objectives Our Approach Evaluation Summary

Our Scheduler Design Objectives

Our scheduler tries to satisfy the following objectives:

Have overall long term fairness in the system.

Have predictable timeliness (within the bounds of fairness)even in overload.Allow time sensitive applications to cooperate.

Cooperation helps to achieve coordinated adaptation.Cooperation provides better timeliness.

Uncooperative, misbehaving cooperative tasks should bepoliced.

Achieve a good balance of throughput and responsiveness.

Anirban (Ani) Sinha M.Sc Thesis Presentation

Page 12: Achieving Predictable Timing and Fairness Through ...anirban.org/anirbans-thesis-talk.pdfAchieving Predictable Timing and Fairness Through Cooperative Polling Anirban (Ani) Sinha Department

Yet another new scheduler?! Our Design Objectives Our Approach Evaluation Summary

Outline

1 Yet another new scheduler?!Scheduling Challenges in a General Purpose OSEarlier Attempts to Address the IssuesThe Vanilla O(1) Scheduler

2 Our Design Objectives3 Our Approach

The Design of Our SchedulerThe AlgorithmsThe Implementation

4 EvaluationFairshare EvaluationCooperative Polling (+ policing) EvaluationPure Fairshare Vs Cooperative PollingExperiments with High Definition Video

5 SummaryAnirban (Ani) Sinha M.Sc Thesis Presentation

Page 13: Achieving Predictable Timing and Fairness Through ...anirban.org/anirbans-thesis-talk.pdfAchieving Predictable Timing and Fairness Through Cooperative Polling Anirban (Ani) Sinha Department

Yet another new scheduler?! Our Design Objectives Our Approach Evaluation Summary

The Design of Our Scheduler

Design Highlights

Fairshare scheduler based on virtual time to schedule alltasks.

Ensures long term fairness.Borrowing prevents accumulation of virtual time.

All time sensitive tasks form a cooperation group.A common virtual time for the whole group.No fairsharing or allocation enforcement within the group.Tasks in the cooperation group cooperate with one anotherthrough kernel using coop_poll primitive.Tasks within cooperation group are scheduled based ontheir deadlines and best effort priorities.

Preferential treatment and policing of cooperative tasks byfairshare scheduler.

Anirban (Ani) Sinha M.Sc Thesis Presentation

Page 14: Achieving Predictable Timing and Fairness Through ...anirban.org/anirbans-thesis-talk.pdfAchieving Predictable Timing and Fairness Through Cooperative Polling Anirban (Ani) Sinha Department

Yet another new scheduler?! Our Design Objectives Our Approach Evaluation Summary

The Design of Our Scheduler

The coop_poll() Primitive

coop_poll(IN,OUT)IN: Most important deadline and best effort priority event ofthe current task.OUT:

Most important deadline of all the external time sensitivetasks or the fairshare policing deadline, whichever is earlier.Best effort event of all the external time sensitive tasks.

Kernel Responsibility:Resume the task when:

IN parameter deadline has expired (preferential treatment) orIN parameter best effort is most important.

Task Responsibility:Treat the OUT events as it’s ownyield back to kernel using coop_poll when they fire.

Anirban (Ani) Sinha M.Sc Thesis Presentation

Page 15: Achieving Predictable Timing and Fairness Through ...anirban.org/anirbans-thesis-talk.pdfAchieving Predictable Timing and Fairness Through Cooperative Polling Anirban (Ani) Sinha Department

Yet another new scheduler?! Our Design Objectives Our Approach Evaluation Summary

The Design of Our Scheduler

Scheduling Overview

The Scheduling Overview

Anirban (Ani) Sinha M.Sc Thesis Presentation

Page 16: Achieving Predictable Timing and Fairness Through ...anirban.org/anirbans-thesis-talk.pdfAchieving Predictable Timing and Fairness Through Cooperative Polling Anirban (Ani) Sinha Department

Yet another new scheduler?! Our Design Objectives Our Approach Evaluation Summary

The Algorithms

The Main Kernel Scheduler

Algorithm: schedule()

Global TimeVal sched_granularity;Global TimeVal sched_min_timeslice;schedule() {

prevTask = currentTask;if (fsTimerActive == FALSE) {

safely_charge_running_times(prevTask);nextTask = choose_next_task();nextTask.timeslice_start = now;TimeVal timeslice = calculate_timeslice();schedule_timer(timeslice);nextTask.sched_deadline = now + timeslice;

} else {nextTask = prevTask;

}if (nextTask != prevTask) {

context_switch(prevTask,nextTask);}

}

Anirban (Ani) Sinha M.Sc Thesis Presentation

Page 17: Achieving Predictable Timing and Fairness Through ...anirban.org/anirbans-thesis-talk.pdfAchieving Predictable Timing and Fairness Through Cooperative Polling Anirban (Ani) Sinha Department

Yet another new scheduler?! Our Design Objectives Our Approach Evaluation Summary

The Algorithms

Choosing the Next Task

Algorithm: choose_next_task()

choose_next_task() {nextTask = q_head(Wfq);if (nextTask.sched_dom == COOP_DOM) {

nextTask = choose_next_coop_task();}return nextTask;

}

Anirban (Ani) Sinha M.Sc Thesis Presentation

Page 18: Achieving Predictable Timing and Fairness Through ...anirban.org/anirbans-thesis-talk.pdfAchieving Predictable Timing and Fairness Through Cooperative Polling Anirban (Ani) Sinha Department

Yet another new scheduler?! Our Design Objectives Our Approach Evaluation Summary

The Algorithms

Choosing the Next Time Sensitive Task

Algorithm: choose_next_coop_task()

choose_next_coop_task() {if (head_expired(CoopDomain.dead_ev)){

nextDeadEv = q_head(CoopDomain.dead_ev);return task(nextDeadEv);

}else if(q_not_empty(CoopDomain.be_ev)){nextBeEvent =q_head(CoopDomain.be_ev);return task(nextBeEvent);

} else {return ERR;

}}

Anirban (Ani) Sinha M.Sc Thesis Presentation

Page 19: Achieving Predictable Timing and Fairness Through ...anirban.org/anirbans-thesis-talk.pdfAchieving Predictable Timing and Fairness Through Cooperative Polling Anirban (Ani) Sinha Department

Yet another new scheduler?! Our Design Objectives Our Approach Evaluation Summary

The Algorithms

Calculating Timeslice

Algorithm: cal_Tslice()

cal_Tslice(nextTask, &Tslice) {fsPrd = find_fs_prd();coopPrd = earliestCoopDead - now;if (coopPrd < 0) coopPrd = 0;nextDeadTask = find_earliest_deadline_task();if (nextTask.virtual_time + coopPrd <

nextDeadTask.virtual_time) {timeDelta = nextDeadTask.virtual_time

- (nextTask.virtual_time+ coopPrd);

coopPrd = coopPrd + timeDelta;}Tslice = max(min(fsPrd,coopPrd),minTslice);

}

Anirban (Ani) Sinha M.Sc Thesis Presentation

Page 20: Achieving Predictable Timing and Fairness Through ...anirban.org/anirbans-thesis-talk.pdfAchieving Predictable Timing and Fairness Through Cooperative Polling Anirban (Ani) Sinha Department

Yet another new scheduler?! Our Design Objectives Our Approach Evaluation Summary

The Implementation

Implementation Overview

Implementation on 2.6.20 kernel + highres timersHigh resolution timers for timeslice enforcement.Use of fine grained time accounting in the kernel.

Binary heaps for our runqueue.Tasks sorted based on their virtual time.Also two heaps for sorting the time sensitive tasks basedon deadlines and best effort priorities.Heaps implemented with existing kernel runqueue - noseparate locking mechanism needed.

A new system call coop_poll().

We override the vanilla kernel scheduling decision withours.

Anirban (Ani) Sinha M.Sc Thesis Presentation

Page 21: Achieving Predictable Timing and Fairness Through ...anirban.org/anirbans-thesis-talk.pdfAchieving Predictable Timing and Fairness Through Cooperative Polling Anirban (Ani) Sinha Department

Yet another new scheduler?! Our Design Objectives Our Approach Evaluation Summary

Outline

1 Yet another new scheduler?!Scheduling Challenges in a General Purpose OSEarlier Attempts to Address the IssuesThe Vanilla O(1) Scheduler

2 Our Design Objectives3 Our Approach

The Design of Our SchedulerThe AlgorithmsThe Implementation

4 EvaluationFairshare EvaluationCooperative Polling (+ policing) EvaluationPure Fairshare Vs Cooperative PollingExperiments with High Definition Video

5 SummaryAnirban (Ani) Sinha M.Sc Thesis Presentation

Page 22: Achieving Predictable Timing and Fairness Through ...anirban.org/anirbans-thesis-talk.pdfAchieving Predictable Timing and Fairness Through Cooperative Polling Anirban (Ani) Sinha Department

Yet another new scheduler?! Our Design Objectives Our Approach Evaluation Summary

Evaluation Strategy

Use a broad spectrum of load conditions: underloaded tofully overloaded.Vary the # of Qstream applications for varying the load.

6 players => CPU just saturated. 12 players => completesaturation.Qstream is a mixed CPU and IO intensive workload.The challenge => achieve coordinated adaptations withgraceful degradation.

Qstream server run on a different machine.Server load has no impact on the client performance.

Enough memory & network bandwidth to handle 12players - no memory pressure.

Stray applets and services on client disabled.

Anirban (Ani) Sinha M.Sc Thesis Presentation

Page 23: Achieving Predictable Timing and Fairness Through ...anirban.org/anirbans-thesis-talk.pdfAchieving Predictable Timing and Fairness Through Cooperative Polling Anirban (Ani) Sinha Department

Yet another new scheduler?! Our Design Objectives Our Approach Evaluation Summary

Fairshare Evaluation

Evaluation of Fairshare Scheduling

Salient Points of the Experiment

Qstream applications run as best effort task under thefairshare scheduler.

No cooperation between applications.Frame display disabled.

Xserver has coarse grained event dispatch mechanism -perturbs our results.Effects of Xserver eliminated.

Anirban (Ani) Sinha M.Sc Thesis Presentation

Page 24: Achieving Predictable Timing and Fairness Through ...anirban.org/anirbans-thesis-talk.pdfAchieving Predictable Timing and Fairness Through Cooperative Polling Anirban (Ani) Sinha Department

Yet another new scheduler?! Our Design Objectives Our Approach Evaluation Summary

Fairshare Evaluation

Results

Dispatcher Latency

0

5

10

15

20

25

30

4 5 6 7 8 9 10 11 12 0

5

10

15

20

25

30

Aver

age

Tar

din

ess

(ms)

# of Videos

Timeslice: 1 msTimeslice: 10 msTimeslice: 15 ms

Timeslice: 20 msTimeslice: 5 ms

Dispatcher Latency

Anirban (Ani) Sinha M.Sc Thesis Presentation

Page 25: Achieving Predictable Timing and Fairness Through ...anirban.org/anirbans-thesis-talk.pdfAchieving Predictable Timing and Fairness Through Cooperative Polling Anirban (Ani) Sinha Department

Yet another new scheduler?! Our Design Objectives Our Approach Evaluation Summary

Fairshare Evaluation

Results

Throughput vs Monolithic (single player case)

0

20

40

60

80

100

120

140

160

180

200

4 5 6 7 8 9 10 11 12 0

20

40

60

80

100

120

140

160

180

200

FP

S t

hro

ugh

put

as %

of

sin

gle

pla

yer

thro

ughput.

# of Videos

Timeslice: 1 msTimeslice: 10 msTimeslice: 15 ms

Timeslice: 20 msTimeslice: 5 ms

Relative Throughputs

Anirban (Ani) Sinha M.Sc Thesis Presentation

Page 26: Achieving Predictable Timing and Fairness Through ...anirban.org/anirbans-thesis-talk.pdfAchieving Predictable Timing and Fairness Through Cooperative Polling Anirban (Ani) Sinha Department

Yet another new scheduler?! Our Design Objectives Our Approach Evaluation Summary

Fairshare Evaluation

Results

Context Switch Rate

0 1000 2000 3000 4000 5000 6000 7000 8000 9000

10000 11000 12000

4 5 6 7 8 9 10 11 12 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 11000 12000

Glo

bal

ker

nel

conte

xt

swit

ches

p

er s

econd.

# of Videos

Timeslice: 1 msTimeslice: 10 msTimeslice: 15 ms

Timeslice: 20 msTimeslice: 5 ms

Context Switches

Anirban (Ani) Sinha M.Sc Thesis Presentation

Page 27: Achieving Predictable Timing and Fairness Through ...anirban.org/anirbans-thesis-talk.pdfAchieving Predictable Timing and Fairness Through Cooperative Polling Anirban (Ani) Sinha Department

Yet another new scheduler?! Our Design Objectives Our Approach Evaluation Summary

Cooperative Polling (+ policing) Evaluation

Evaluation of Cooperative Polling Algorithm with Policing

Salient Points of the Experiment

Qstream applications cooperate with each other throughkernel using coop_poll() system call.

Its a homogeneous environment - all of the applicationsare well behaved.Frame display disabled.

Effects of Xserver eliminated.

Anirban (Ani) Sinha M.Sc Thesis Presentation

Page 28: Achieving Predictable Timing and Fairness Through ...anirban.org/anirbans-thesis-talk.pdfAchieving Predictable Timing and Fairness Through Cooperative Polling Anirban (Ani) Sinha Department

Yet another new scheduler?! Our Design Objectives Our Approach Evaluation Summary

Cooperative Polling (+ policing) Evaluation

Results

Dispatcher Latency

0

1

2

3

4

5

4 5 6 7 8 9 10 11 12 0

1

2

3

4

5

Aver

age

Tar

din

ess

(ms)

# of Videos

Timeslice: 1 msTimeslice: 10 msTimeslice: 15 ms

Timeslice: 20 msTimeslice: 5 ms

Dispatcher Latency

Anirban (Ani) Sinha M.Sc Thesis Presentation

Page 29: Achieving Predictable Timing and Fairness Through ...anirban.org/anirbans-thesis-talk.pdfAchieving Predictable Timing and Fairness Through Cooperative Polling Anirban (Ani) Sinha Department

Yet another new scheduler?! Our Design Objectives Our Approach Evaluation Summary

Cooperative Polling (+ policing) Evaluation

Results

Throughput vs Monolithic (single player case)

0

20

40

60

80

100

120

140

160

180

200

4 5 6 7 8 9 10 11 12 0

20

40

60

80

100

120

140

160

180

200

FP

S t

hro

ugh

put

as %

of

sin

gle

pla

yer

thro

ughput.

# of Videos

Timeslice: 1 msTimeslice: 10 msTimeslice: 15 ms

Timeslice: 20 msTimeslice: 5 ms

Relative Throughputs

Anirban (Ani) Sinha M.Sc Thesis Presentation

Page 30: Achieving Predictable Timing and Fairness Through ...anirban.org/anirbans-thesis-talk.pdfAchieving Predictable Timing and Fairness Through Cooperative Polling Anirban (Ani) Sinha Department

Yet another new scheduler?! Our Design Objectives Our Approach Evaluation Summary

Cooperative Polling (+ policing) Evaluation

Results

Context Switch Rate

0 1000 2000 3000 4000 5000 6000 7000 8000 9000

10000 11000 12000

4 5 6 7 8 9 10 11 12 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 11000 12000

Glo

bal

ker

nel

conte

xt

swit

ches

p

er s

econd.

# of Videos

Timeslice: 1 msTimeslice: 10 msTimeslice: 15 ms

Timeslice: 20 msTimeslice: 5 ms

Context Switches

Anirban (Ani) Sinha M.Sc Thesis Presentation

Page 31: Achieving Predictable Timing and Fairness Through ...anirban.org/anirbans-thesis-talk.pdfAchieving Predictable Timing and Fairness Through Cooperative Polling Anirban (Ani) Sinha Department

Yet another new scheduler?! Our Design Objectives Our Approach Evaluation Summary

Cooperative Polling (+ policing) Evaluation

Results

Frame Rates

0

5

10

15

20

25

30

100 150 200 250 300 0

25

50

75

100

Fra

mes

per

sec

ond

CP

U U

tili

zati

on (

%)

Video Position (s)

video 1video 2video 3video 4video 5video 6video 7

video 8video 9

video 10video 11video 12

Global CPU

Frame Rate for 12 videos with Xserver run as best effort task.

Anirban (Ani) Sinha M.Sc Thesis Presentation

Page 32: Achieving Predictable Timing and Fairness Through ...anirban.org/anirbans-thesis-talk.pdfAchieving Predictable Timing and Fairness Through Cooperative Polling Anirban (Ani) Sinha Department

Yet another new scheduler?! Our Design Objectives Our Approach Evaluation Summary

Pure Fairshare Vs Cooperative Polling

Cooperative Scheduling is Better Than Pure Fairsharing

Results with 10 players

Comparison FairshareScheduler(1 msperiod)

Coop Scheduler

Dispatcher Latency 4.3 ms 0.9 ms

Context Switches 9430 /sec 4766 /sec

Throughput as % of singleplayer

87% 95%

Anirban (Ani) Sinha M.Sc Thesis Presentation

Page 33: Achieving Predictable Timing and Fairness Through ...anirban.org/anirbans-thesis-talk.pdfAchieving Predictable Timing and Fairness Through Cooperative Polling Anirban (Ani) Sinha Department

Yet another new scheduler?! Our Design Objectives Our Approach Evaluation Summary

Experiments with High Definition Video

Performance Evaluation with High Definition Video

Salient Points of the Experiment

A single Qstream player playing a 1080p high definitionvideo, 679.2 kbyte/s bit-rate and 25 FPS.

The single video alone can take 70% of CPU.

A best effort video encoding job run in parallel tocompletely saturate the CPU.

Represents a common scenario where users watching ahigh definition video perform some video/audio encodingwork in parallel.Xserver run as a best effort task in our fairshare scheduler.

Scheduled according to vanilla heuristics on the vanillakernel.

Anirban (Ani) Sinha M.Sc Thesis Presentation

Page 34: Achieving Predictable Timing and Fairness Through ...anirban.org/anirbans-thesis-talk.pdfAchieving Predictable Timing and Fairness Through Cooperative Polling Anirban (Ani) Sinha Department

Yet another new scheduler?! Our Design Objectives Our Approach Evaluation Summary

Experiments with High Definition Video

Results

Dispatcher Latency as a function of global scheduling period

0 1 2 3 4 5 6 7 8 9

10 11 12 13 14 15

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Aver

age

Tar

din

ess

(ms)

Scheduling granularity (timeslice) ms

Average Tardiness

Dispatcher Latency

Anirban (Ani) Sinha M.Sc Thesis Presentation

Page 35: Achieving Predictable Timing and Fairness Through ...anirban.org/anirbans-thesis-talk.pdfAchieving Predictable Timing and Fairness Through Cooperative Polling Anirban (Ani) Sinha Department

Yet another new scheduler?! Our Design Objectives Our Approach Evaluation Summary

Experiments with High Definition Video

Results

FPS throughput as a function of scheduling period

0

5

10

15

20

25

30

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Aver

age

FP

S

Scheduling granularity (timeslice) ms

FPS Throughputs

FPS Throughput

Anirban (Ani) Sinha M.Sc Thesis Presentation

Page 36: Achieving Predictable Timing and Fairness Through ...anirban.org/anirbans-thesis-talk.pdfAchieving Predictable Timing and Fairness Through Cooperative Polling Anirban (Ani) Sinha Department

Yet another new scheduler?! Our Design Objectives Our Approach Evaluation Summary

Experiments with High Definition Video

Results

Context switch rate as a function of scheduling period

0

200

400

600

800

1000

1200

1400

1600

1800

2000

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 0

200

400

600

800

1000

1200

1400

1600

1800

2000

Glo

bal

ker

nel

conte

xt

swit

ches

p

er s

econd

Scheduling granularity (timeslice) ms

Context Switch Rate

Context Switch Rate

Anirban (Ani) Sinha M.Sc Thesis Presentation

Page 37: Achieving Predictable Timing and Fairness Through ...anirban.org/anirbans-thesis-talk.pdfAchieving Predictable Timing and Fairness Through Cooperative Polling Anirban (Ani) Sinha Department

Yet another new scheduler?! Our Design Objectives Our Approach Evaluation Summary

Outline

1 Yet another new scheduler?!Scheduling Challenges in a General Purpose OSEarlier Attempts to Address the IssuesThe Vanilla O(1) Scheduler

2 Our Design Objectives3 Our Approach

The Design of Our SchedulerThe AlgorithmsThe Implementation

4 EvaluationFairshare EvaluationCooperative Polling (+ policing) EvaluationPure Fairshare Vs Cooperative PollingExperiments with High Definition Video

5 SummaryAnirban (Ani) Sinha M.Sc Thesis Presentation

Page 38: Achieving Predictable Timing and Fairness Through ...anirban.org/anirbans-thesis-talk.pdfAchieving Predictable Timing and Fairness Through Cooperative Polling Anirban (Ani) Sinha Department

Yet another new scheduler?! Our Design Objectives Our Approach Evaluation Summary

Summary

Fairshare scheduling alone provides a baselineperformance proportional to global period.

The cost of smaller period and finer grained scheduling ishigh context switch overhead.Cooperative polling can provide improved timeliness withreduced context switch overheads.

Informed context switches are less expensive.Helps to achieve coordinated adaptation.

Policing through fairsharing ensures long term fairness inthe system with no starvation.

Anirban (Ani) Sinha M.Sc Thesis Presentation

Page 39: Achieving Predictable Timing and Fairness Through ...anirban.org/anirbans-thesis-talk.pdfAchieving Predictable Timing and Fairness Through Cooperative Polling Anirban (Ani) Sinha Department

Yet another new scheduler?! Our Design Objectives Our Approach Evaluation Summary

Project Resources

Everything is Open Source!

Project URL: http://dsg.cs.ubc.ca/coopfschedContains project updates, publications and code repositorycheckout URLs.

Qstream source: http://Qstream.orgHas all the benchmark scripts.

Anirban (Ani) Sinha M.Sc Thesis Presentation

Page 40: Achieving Predictable Timing and Fairness Through ...anirban.org/anirbans-thesis-talk.pdfAchieving Predictable Timing and Fairness Through Cooperative Polling Anirban (Ani) Sinha Department

Yet another new scheduler?! Our Design Objectives Our Approach Evaluation Summary

Acknowledgements

I sincerely thank the following people who have helped me toproceed in this work:

The Indispensable

Dr. Charles ’Buck’ Krasic, my supervisor.

Dr. Ashvin Goel, my unofficial co-supervisor.

Dr. Norman Hutchinson, my second reader.

All anonymous reviewers of our papers and those whogave us valuable feedback at SOSP.

Anirban (Ani) Sinha M.Sc Thesis Presentation

Page 41: Achieving Predictable Timing and Fairness Through ...anirban.org/anirbans-thesis-talk.pdfAchieving Predictable Timing and Fairness Through Cooperative Polling Anirban (Ani) Sinha Department

Yet another new scheduler?! Our Design Objectives Our Approach Evaluation Summary

Acknowledgements

The Support

The DSG lab and all the wonderful people therein - specialmention to Geoff, Brendan, Andy.

My wonderful labmates: Andrei, Gang, Mike Wood, MikeTsai, Gitika, Mayukh, Cuong, Camilo and Brad.

My three good friends: Kan, Meghan and Abhishek.

All the CSGSA folks.

The Hidden Support

My family who has always been there for me, unconditionally.

Anirban (Ani) Sinha M.Sc Thesis Presentation

Page 42: Achieving Predictable Timing and Fairness Through ...anirban.org/anirbans-thesis-talk.pdfAchieving Predictable Timing and Fairness Through Cooperative Polling Anirban (Ani) Sinha Department

Yet another new scheduler?! Our Design Objectives Our Approach Evaluation Summary

Questions

Questions ...

Anirban (Ani) Sinha M.Sc Thesis Presentation