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 sizes Improvements 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 ArrivalsqueueServer 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 [Kleinrock 71] Identical for all!
M/G/1 SRPT x x SRPT t dt x xFx tft xTE ))(1( (1(2 )))(1()(( )]([ Waiting Time (E[W(x)])Residence Time (E[R(x)]) Load up to x Variance up to x Gains priority after it begins execution
All-Can-Win under srpt put c Thm: Every job prefers SRPT, when load <= ½, for all job size distributions. Proof: Know that If Key Observation Holds for all x, if load <= 0.5
What if load > 0.5 ? problem Still holds if Irrespective 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, 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. As 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.Random iii.Last Come First Serve (LCFS) iv.Shortest Job First (SJF) Preemptive: i.Foreground Background (FB) ii.Preemptive LCFS Same as PS Trivially 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
Under h-t distributions Load = 0.9 Heavy-tailed distribution with alpha=1.1 Job PercentileSRPTPS 90% % % % % Very largest job
Under light-tailed distributions Job PercentileSRPTPS 90% % % % Load=0.9 Exponential distribution