Upload
darcy-copeland
View
215
Download
2
Embed Size (px)
Citation preview
Analysis of SRPT Scheduling:Investigating Unfairness
Nikhil Bansal
(Joint work with Mor Harchol-Balter)
Aim:“Good” Scheduling Policy
• Low Response times• Fair
Motivation Problem
Server
Client1
Client2
Client3
Time Sharing (PS)
Server shared equally between all the jobs:
Low response times Fair Does not require knowledge of sizes
Can we do better ?
Shortest Remaining Proc. Time
Optimal for minimizing mean response times.
Knowledge of sizesImprovements significant ? Starvation of large jobs
Biggest fear
Objections:
Questions
Smalls better Bigs worse
How do means compare
Elephant-mice property and implications
M/G/1 Queue Framework
Arrivals queue Server
Load( ) = (arrival rate).E[S]
• Poisson Arrival Process with rate • Job sizes (S) iid general distribution F
Queueing Formulas for PS
E[T(x)]: Expected Response time for job of size x
1
1)]([ PSxSE
1)]([
xxTE PS [Kleinrock 71]
Identical for all!
M/G/1 SRPT
x
x
SRPT tdt
x
xFxdttftxTE
02
2
0
2
))(1())(1(2
)))(1()(()]([
Waiting Time (E[W(x)]) Residence Time (E[R(x)])
x
dtttfx0
)()(
Load up to x Variance up to x Gains priority after it begins execution
x
PSSRPT
dtxTExRE
0 1)]([)]([
All-Can-Win under srpt put c
Thm: Every job prefers SRPT, when load <= ½, for all job size distributions.
Proof: Know that
SRPTPSSRPT xRExTExWE )]([)]([)]([
))]([)]([())(1(2
1)]([
2 SRPTPSSRPT xRExTEx
xWE
PSSRPT xTExTE )]([)]([
PSSRPT xTExRE )]([)]([
2))(1(2)1( x IfKey Observation
Holds for all x, if load <= 0.5
What if load > 0.5 ? problem
PSSRPT xTExRE )]([)]([ Still holds if 5.0)( xIrrespective of
The Heavy-Tailed Property: (Elephant -Mice) 1% of the big jobs make up at least 50% of the load.
For a distribution with the HT property, >99% of jobs better under SRPT
In fact, significantly better,Under SRPT, 22)]([ SRPTxSE
)1/(1)]([ PSxSE
Bounded by 4
Arbitrarily high
The very largest jobs
If load <= 0.5, all jobs favor SRPT. At any load, > 99% jobs favor SRPT, if HT property. Moreover significant improvements.
What about the remaining 1% largest jobs?
1. Bounding the damage theorem
2.PSSRPT SEkSE ][)(][
))2
22log(01.0)
21(log(
)1(2
2
)01.1()(
k
,1As 01.0)( k
Implication: Mean slowdown of largest 1% under SRPT: Same as PS
Fill in…
Insert plots here:1 for BP 1.1 with load 0.9 showing how all Do better
2 for exp with load 0.9 showing how some do bad.
Other Scheduling Policies
Non-preemptive: i. First Come First Serve (FCFS)ii. Randomiii. Last Come First Serve (LCFS)iv. Shortest Job First (SJF)
Preemptive:i. Foreground Background (FB)ii. Preemptive LCFS
Same as PSTrivially worse
Very bad mean Performance, for HT workloads
Overload
Add some lines for why good+ we do work on this in paper
Actual Implementation
Add a plot or couple of lines
Conclusions
• Significant mean performance improvements.
• Big jobs prefer SRPT under low-moderate loads.
• Big jobs prefer SRPT even under high loads for heavy-tailed distributions.
Scratch
1 } { Pr xxX
Under h-t distributions
Load = 0.9
Heavy-tailed distribution with alpha=1.1
Job Percentile SRPT PS
90% 1.28 10
99% 1.62 10
99.9% 2.08 10
99.99% 2.69 10
100% 9.54 10
Very largest job
Under light-tailed distributions
Job Percentile SRPT PS
90% 3.17 10
95% 4.93 10
99% 11.14 10
99.9% 16.01 10
Load=0.9Exponential distribution