Analysis of SRPT Scheduling Investigating Unfairness Nikhil Bansal
Analysis of SRPT Scheduling: Investigating Unfairness Nikhil Bansal (Joint work with Mor Harchol-Balter)
Motivation Problem Client 1 Client 2 Client 3 Aim: “Good” Scheduling Policy • Low Response times • Fair Server
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. Objections: §Knowledge of sizes §Improvements significant ? §Starvation of large jobs Biggest fear
Questions § Smalls better Bigs worse § How do means compare § Elephant-mice property and implications
M/G/1 Queue Framework Arrivals queue • Poisson Arrival Process with rate • Job sizes (S) iid general distribution F Load( ) = (arrival rate). E[S] Server
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 E[T ( x)]SRPT = l (ò t 2 f (t )dt +x 2 (1 - F ( x))) 0 2 r 2(1 ( x)) x dt 0 (1 - r (t )) +ò 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 Fill in… 2. As Implication: Mean slowdown of largest 1% under SRPT: Same as PS
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 Very bad mean Performance, for HT workloads Trivially worse
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 Job Percentile SRPT PS 90% 99. 9% 99. 99% 100% 1. 28 1. 62 2. 08 2. 69 9. 54 10 10 10 Very largest job Load = 0. 9 Heavy-tailed distribution with alpha=1. 1
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. 9 Exponential distribution
- Slides: 20