Presentation is loading. Please wait.

Presentation is loading. Please wait.

FAIRNESS IN QUEUES Adam Wierman Carnegie Mellon University cmu

Similar presentations


Presentation on theme: "FAIRNESS IN QUEUES Adam Wierman Carnegie Mellon University cmu"— Presentation transcript:

1 FAIRNESS IN QUEUES Adam Wierman Carnegie Mellon University acw@cs. cmu
FAIRNESS IN QUEUES Adam Wierman Carnegie Mellon University Joint work with Mor Harchol-Balter

2 “SCHEDULING SUCCESS STORIES” ARE EVERYWHERE
Web Servers users Routers Internet Disks CPUs Locks Databases …also p2p, wireless, operating systems… Biersack, Rai, Urvoy-Keller, Harchol-Balter, Schroeder, Agrawal, Ganger, Petrou, Misra, Feng, Hu, Zhang, Mangharam, Sadowsky, Rawat, Dinda, McWherter, Ailamaki, & others

3 THE ESSENCE OF A “SCHEDULING SUCCESS STORY”
Processor Sharing (PS) bottleneck resource web server, router, etc. Goal Minimize user response times Make sure to provide details of the examples routers and wireless PS at a flow level Make sure to say that SRPT is preemptive small arriving job interupts job in service. Make sure to say why SRPT is good (smalls don’t ges) Use a different scheduling policy

4 ? WHAT POLICY SHOULD WE USE? SRPT WINS BIG SRPT ? Sched- PS FCFS uling
load mean response time PS SRPT FCFS What about fairness to large jobs? ?

5 ARE POLICIES THAT PRIORITIZE SMALL JOBS FAIR TO LARGE JOBS?
What does “fair” mean? ? M/GI/1 Preempt-Resume Queue

6 WHAT IS FAIRNESS? Definition:
A fair decision is one that makes the proper balance of conflicting interests The “proper balance” is determined by consulting the majority, employing logic, referring to the divine.

7 Which is more fair ? when two jobs of the same size arrive one afer the other... B 1 A 2 B A

8 Which is more fair ? when a small job and a large job arrive at the same time... B 1 A B 2 A

9 BUT, THE SETTING MATTERS
OUR SETTING: Are the response times of large jobs “unfairly” long?

10 WHAT IS FAIRNESS? Definition:
A fair decision is one that makes the proper balance of conflicting interests The “proper balance” is determined by consulting the majority, employing logic, referring to the divine.

11 EMPLOYING LOGIC Aristotle’s notion of fairness
Like cases should be treated alike, different cases should be treated differently, and different cases should be treated differently in proportion to their differences. Response times should be proportional to job sizes. T(x)/x should be constant slowdown

12 EMPLOYING LOGIC Rawls’ Theory of Social Justice
All social goods should be distributed equally, unless unequal distribution is to the advantage of the least favored Share the server evenly among all jobs Processor Sharing (PS) is fair

13 EMPLOYING LOGIC Min-Max fairness (Pareto Efficiency)
All jobs deserve an equal share of the resources ... but if some jobs can use more without hurting others, that’s okay If you beat PS for all sizes, you’re still fair

14 ? ? MIN-MAX FAIRNESS Definition: Consider an M/GI/1 queue.
Wierman and Harchol-Balter 2003 Definition: Consider an M/GI/1 queue. A policy P is min-max fair if: Is 1/(1-ρ) really a min-max criteria ? Is dividing by “x” the right scaling? ?

15 ? ? Is 1/(1-ρ) Is dividing really a by “x” the right min-max criteria
scaling? ? Theorem: In an M/GI/1 with an unbounded, continuous service distribution having finite E[X2], under any non-idling policy we have and further [Wierman and Harchol-Balter 2003]

16 ? MIN-MAX FAIRNESS Definition: Consider an M/GI/1 queue.
Wierman and Harchol-Balter 2003 Definition: Consider an M/GI/1 queue. A policy P is min-max fair if: How do common policies perform? ?

17 PS – FCFS – SRPT Processor Sharing
E[T(x)] / x PS x

18 First Come First Served
PS – FCFS – SRPT First Come First Served The unfairness can be unbounded E[T(x)] / x PS FCFS x Under a Pareto with ρ=0.8, this is >80% of the jobs

19 Shortest Remaining Processing Time
PS – FCFS – SRPT Shortest Remaining Processing Time x E[T(x)] / x x E[T(x)] / x SRPT PS PS SRPT Theorem SRPT is fair for ρ<0.5, regardless of the job size distribution. Theorem For every service distribution with finite E[X2], SRPT is unfair for high enough load.

20 OTHER POLICIES Always Unfair SRPT PS Always Fair Sometimes Fair FCFS

21 OTHER POLICIES Always Unfair Always Fair Sometimes Fair Prioritize
PS PLCFS SRPT LRPT Prioritize Small Jobs Prioritize Large Jobs Always Fair PSJF PLJF LCFS Sometimes Fair ROS FCFS SJF LJF FB [Wierman and Harchol-Balter 2003, 2005]

22 ! OTHER POLICIES Always Unfair Always Fair Sometimes Fair
Remaining size based Always Unfair PS PLCFS SRPT LRPT Preemptive size based Non-preemptive non-size based Always Fair PSJF PLJF LCFS Sometimes Fair ROS FCFS There’s a tradeoff between fairness and efficiency ! SJF LJF Age based Non-preemptive size based FB [Wierman and Harchol-Balter 2003, 2005]

23 FAIRNESS VS. EFFICIENCY
Always Unfair PS PLCFS SRPT LRPT Always Fair PSJF PLJF LCFS Sometimes Fair ROS Is there a fair policy with near optimal performance? ? FCFS SJF LJF more circles better mean response time FB

24 Fair Sojourn Protocol (FSP)
[Henderson and Friedman 2004] Guarantees that every job finishes earlier than it would under PS.

25 Fair Sojourn Protocol (FSP)
“Do SRPT on the PS remaining times” Compute the time when each job would finish in a virtual PS system. Order the jobs according to their virtual completion times. Devote the full processor to the job with the earliest PS completion time

26 Fair Sojourn Protocol (FSP)
“Do SRPT on the PS remaining times” FSP did the same thing as SRPT !

27 Fair Sojourn Protocol (FSP)
“Do SRPT on the PS remaining times” How good are response times under FSP? ?

28 How good are response times under FSP? ? ...your answer here...

29 ! MIN-MAX FAIRNESS Definition: Consider an M/GI/1 queue.
Wierman and Harchol-Balter 2003 Definition: Consider an M/GI/1 queue. A policy P is min-max fair if: Worries about fairness are not limited to the mean !

30 Central moments Var[T(x)], etc
Raw moments E[T(x)i] Central moments Var[T(x)], etc Cumulant moments E[T(x)]  ? X BEYOND EXPECTATION: Higher Moments X [Wierman and Harchol-Balter 2005]

31 ? CUMULANTS Do these look familiar?
Cumulants are a descriptive statistic, similar to the moments. They can be found as a function of the moments: or from the log of the moment generating function: CUMULANTS Do these look familiar? ?

32 WHY CUMULANTS? Cumulants have many nice properties: additivity:
homogeneity: 1st cumulant is shift-equivariant & the rest are shift-invariant

33 ! ? MIN-MAX FAIRNESS Definition: Consider an M/GI/1 queue.
Wierman and Harchol-Balter 2005 Definition: Consider an M/GI/1 queue. A policy P is min-max fair if, for all i: Why is this the right generalization? ? Lots of open questions here !

34 MIN-MAX FAIRNESS IS NOT ALWAYS APPROPRIATE
FCFS is the most fair policy in some settings

35 TEMPORAL FAIRNESS It is unfair to violate the seniority of a job
Definition: The politeness experienced by a job of size x under policy P, Pol(x)P, is the fraction of the response time during which the seniority of the job is respected. [Wierman 2004]

36 First Come First Served
Definition: The politeness experienced by a job of size x under policy P, Pol(x)P, is the fraction of the response time during which the seniority of the job is respected. FCFS – PLCFS – PS – SRPT First Come First Served x E[Pol(x)] FCFS 1 1-ρ

37 Preemptive Last Come First Served
Definition: The politeness experienced by a job of size x under policy P, Pol(x)P, is the fraction of the response time during which the seniority of the job is respected. FCFS – PLCFS – PS – SRPT Preemptive Last Come First Served x E[Pol(x)] FCFS 1 1-ρ PLCFS

38 FCFS – PLCFS – PS – SRPT Processor Sharing
1 1-ρ E[Pol(x)] PS PS PLCFS PLCFS x job size %-tile 1

39 Shortest Remaining Processing Time
FCFS – PLCFS – PS – SRPT Shortest Remaining Processing Time FCFS FCFS 1 1-ρ SRPT E[Pol(x)] SRPT PLCFS PLCFS Prioritizing small jobs helps overall politeness ! x job size %-tile 1

40 MANY INTERESTING QUESTIONS...
Can you think of a policy (other than FCFS) that avoids being maximally impolite to some job size? How polite are scheduling heuristics & techniques? What is the tradeoff between temporal fairness and proportional fairness? and efficiency?

41 PROPORTIONAL FAIRNESS VS TEMPORAL FAIRNESS VS EFFICIENCY
min-max fairness politeness mean response time

42 Min-max Fairness Politeness less fair more fair
less polite more polite Theorem In an M/GI/1 any Always Fair policy has FCFS SRPT FCFS FSP PS PLCFS FSP SRPT PS LRPT LRPT PLCFS

43 Min-max Fairness Politeness less fair more fair FCFS
less polite more polite FCFS SRPT FSP PS more circles better mean response time LRPT PLCFS

44 WRAPUP

45 FAIRNESS IS AN AMORPHOUS CONCEPT
a universal definition is unlikely to be useful (or possible) PROPORTIONAL FAIRNESS min-max TEMPORAL FAIRNESS politeness Prioritizing small jobs provides a balance between fairness & efficiency ! ...THIS IS A VERY ACTIVE AREA OF RESEARCH, MANY OPEN QUESTIONS REMAIN

46 AN EXPLOSION OF WORK ON FAIRNESS
since the introduction of min-max fairness in 2003 defining other fairness metrics analyzing policies [Wierman 2004] [Raz, Avi-Itzhak 2004] [Levy, Raz, Avi-Itzhak 04] [Sandmann 2005] Many papers by: Wierman, Harchol-Balter, Henderson, Friedman, Biersack, Rai, Ayesta, Aalto, Nunez-Queija, Misra, Feng, Vernon, Williamson, Brown, Bansal, and others extending definition to higher moments [Wierman & Harchol-Balter 2005a,b] [Williamson, Gong 2003, 2004] [Brown 2006] and others.

47 MANY OTHER INTERESTING METRICS
percent of service given to job i fair service percentage [Levy, Raz, Avi-Itzhak 04] DiscFreq = ni + c∙mi ni = number of jobs that arrived later and completed earlier than job i mi = number of larger jobs (at the arrival of job i) that complete earlier than job i [Sandmann 2005]

48 Adam Wierman Carnegie Mellon University acw@cs. cmu
Adam Wierman Carnegie Mellon University Papers are available at:


Download ppt "FAIRNESS IN QUEUES Adam Wierman Carnegie Mellon University cmu"

Similar presentations


Ads by Google