Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 EP2210 Fairness Lecture material: –Bertsekas, Gallager, Data networks, 6.5 –L. Massoulie, J. Roberts, "Bandwidth sharing: objectives and algorithms,“

Similar presentations


Presentation on theme: "1 EP2210 Fairness Lecture material: –Bertsekas, Gallager, Data networks, 6.5 –L. Massoulie, J. Roberts, "Bandwidth sharing: objectives and algorithms,“"— Presentation transcript:

1 1 EP2210 Fairness Lecture material: –Bertsekas, Gallager, Data networks, 6.5 –L. Massoulie, J. Roberts, "Bandwidth sharing: objectives and algorithms,“ IEEE Infocom 2000, Sec. II.B.1, III.C.3. –J-Y Le Boudec, “Rate adaptation, congestion control and fairness: a tutorial,” Nov. 2005, 1.2.1, 1.4. –MIT OpenCourseWare, 6.829 Reading for next lecture: –L. Massoulie, J. Roberts, "Bandwidth sharing: objectives and algorithms,“ IEEE Infocom 2000.

2 2 Control functions in communication networks X X X X congestion control rate control admission control error control delay control medium access control scheduling (congestion control) (error control) (admission control) fairness concept

3 3 Fairness Scheduling: means to achieve fairness on a single link –E.g., GPS provides max-min fairness Networks? –How to define fairness –How to achieve fairness

4 4 Fairness - objectives How to share the network resources among the competing flows? (“parking lot scenario”) Maximum network throughput (Th=n would be nice): 1 0 n Equal rate:Equal network resource: l 0 *r 0 =l i *r i, l i is the path length

5 5 Fairness - objectives and algorithms Step 1: what is the “optimal” share? –What is optimal – a design decision –Fairness definitions –Centralized algorithms to calculate fair shares Step 2: how to ensure fair shares? –Traffic control at the network edges (congestion or rate control) –Scheduling at the network nodes This lecture: –max-min fairness definition and allocation algorithm –proportional fairness, other fairness definitions Student presentation: –distributed control for fairness

6 6 Max-Min Fairness Simplest case: –without requirements on minimum or maximum rate –constraints are the link bandwidths Definition: Maximize the allocation for the most poorly treated sessions, i.e., maximize the minimum. Equivalent definition: allocation is max-min fair if no rates can be increased without decreasing an already smaller rate 1 0 3 2

7 7 Max-Min Fairness Formal description: –allocated rate for session p: r p, r={r p } (maximum and minimum rate requirements not considered) –allocated flow on link a: F a =∑ pa r p –capacity of link a: C a Feasible allocation r: r p 0, F a ≤C a Max-min fair allocation r: –consider r max-min fair allocation and r* any feasible allocation –for any feasible r*r for which r* p >r p (if in r* there is a session that gets higher rate) –there is a p’ with r p’ ≤r p and r* p’ { "@context": "http://schema.org", "@type": "ImageObject", "contentUrl": "http://images.slideplayer.com/11/3316022/slides/slide_7.jpg", "name": "7 Max-Min Fairness Formal description: –allocated rate for session p: r p, r={r p } (maximum and minimum rate requirements not considered) –allocated flow on link a: F a =∑ pa r p –capacity of link a: C a Feasible allocation r: r p 0, F a ≤C a Max-min fair allocation r: –consider r max-min fair allocation and r* any feasible allocation –for any feasible r*r for which r* p >r p (if in r* there is a session that gets higher rate) –there is a p’ with r p’ ≤r p and r* p’ r p (if in r* there is a session that gets higher rate) –there is a p’ with r p’ ≤r p and r* p’

8 8 Max-Min Fairness Simple algorithm to compute max-min fair rate vector r –Idea: filling procedure 1.increase rates for all sessions until one link gets saturated (the link with highest number of sessions if there are no max. rates) 2. consider only sessions not crossing saturated links, go back to 1 –Formal algorithm in B-G p.527 –Note, it is a centralized algorithm, it requires information about all sessions.

9 9 Max-Min Fairness 1 2 4 3 5 4 532532 1 Filling procedure: 1. increase rates for all sessions until one link gets saturated (the link with highest number of sessions if there are no max. rates) 2. consider only sessions not crossing saturated links, go back to 1

10 10 Max-Min Fairness 1.All sessions get rate of 1/3, link(2,3) saturated, r2=r3=r5=1/3 2.Sessions 1 and 4 get rate increment of 1/3, link(3,5) saturated, r1=2/3 3.Session 4 gets rate increment of 1/3, link(4,5) saturated, r4=1 What happens with the rates if session 2 leaves? 1 2 4 3 5 4 532532 1

11 11 Max-Min Fairness Proposition: Allocation is max-min fair if and only if each session has a bottleneck link Def: a is a bottleneck link for p if F a =C a and r p r p’ for all p’≠p Find the bottleneck links for p1,p2,p3,p4,p5. 1 2 4 3 5 4 532532 1 r2=r3=r5=1/3, r1=2/3, r4=1 * : bottleneck link

12 12 Max-Min Fairness Proposition: Allocation is max-min fair if and only if each session has a bottleneck link 1.If r is max-min fair then each session has a bottleneck link 2.If each session has a bottleneck link then r is max-min fair Why do we like this proposition: given allocation r it is easy to check if a session has a bottleneck link or not, and this way we can see if r is max-min fair or not.

13 13 Max-Min Fairness Proof: 1.If r is max-min fair then each session has a bottleneck link Def: a is a bottleneck link for p if F a =C a and r p r p’ for all p’≠p Proof with contradiction: assume max-min, but p does not have bottleneck link. –For all link a on the path, define  a : –if F a =C a, then there is at least one session with rate r pa higher than r p, and let  a = r pa -r p and –if F a { "@context": "http://schema.org", "@type": "ImageObject", "contentUrl": "http://images.slideplayer.com/11/3316022/slides/slide_13.jpg", "name": "13 Max-Min Fairness Proof: 1.If r is max-min fair then each session has a bottleneck link Def: a is a bottleneck link for p if F a =C a and r p r p’ for all p’≠p Proof with contradiction: assume max-min, but p does not have bottleneck link.", "description": "–For all link a on the path, define  a : –if F a =C a, then there is at least one session with rate r pa higher than r p, and let  a = r pa -r p and –if F a

14 14 Max-Min Fairness Proof: 2.If each session has a bottleneck link then r is max-min fair Proof: consider the following for each session. –Consider session p with bottleneck link a (F a =C a ) – Due to the definition of bottleneck link r pa  r p and consequently r p can not be increased without decreasing a session with lower rate. –This is true for all sessions, thus the allocation is max-min fair. 1 2 4 3 5 4 532532 1

15 15 Utility function Utility function: to describe the value of a resource. E.g., Application requires fixed rate: r* Allocated rate: r Utility of allocated rate: u(r)=0 if r =r* Typical utility functions: Linear u(r)=r Logarithmic u(r)=log r Step function – as above

16 16 Rate-proportional fairness Name: rate proportional or proportional fairness Note! Change in notation! Rate:, flow: r, set of flows: R Def1: Allocation  ={ r } is proportionally fair if for any ’ ={’ r } : thus, for all other allocation the sum of proportional rate changes with respect to  are negative. Def2: The proportionally far allocation maximizes ∑ R log r – maximizes the overall utility of rate allocations with a logarithmic utility function.

17 17 Rate-proportional fairness Example: parking lot scneario L links, R 0 crosses all links, others only one link 1 0 L

18 18 Rate-proportional fairness Long routes are penalized The same as the “equal resources scenario on the first slides.

19 19 Rate-proportional fairness – equivalence of definitions Let { i *} be the optimal rate allocation and an other { i ’} allocation.

20 20 Other fairness definitions L. Massoulie, J. Roberts, "Bandwidth sharing: objectives and algorithms,“ IEEE Infocom 2000, sections I and II. Max-min Proportional Potential delay minimization Weighted shares for various fairness definitions

21 21 Fairness - summary What is a fair allocation? –E.g., max throughput allocation may be very unfair, equal rate allocation may lead to low throughput Max-min fairness –Definition 1: Maximize the smallest allocated rate –Definition 2: No rates can be increased without decreasing an already smaller one –Proposition: allocation max-min fair iff all sessions have a bottleneck link Utility based fairness definitions Rate proportional fairness –for all other allocation the some of relative changes is negative –maximizes the sum of log(r)

22 22 Home reading Bertsekas, Gallager, Data networks, 6.5 L. Massoulie, J. Roberts, "Bandwidth sharing: objectives and algorithms,“ IEEE Infocom 2000, sections I and II.

23 23 Fairness – distributed control We have seen a number of fairness definitions. Fair allocation for a given set of flows can be calculated (filling, or solving the related optimization problem). How can fair allocation be provided in a distributed way?

24 24 Traffic control for max-min fairness GPS provides max-min fairness for a single node. What happens in networks with GPS nodes but without any end-to-end control? Is max-min fairness achieved? Multiple node example: –1 flow from S1 to D1 –10 flows from S2 to D2 Calculate the max-min fair rates for the entire network. Flow to D1: 10 Flows to D2: 0.1 S1 S2 XY D2 D1 C=11 C=10 C=1 C=∞

25 25 Traffic control for max-min fairness GPS provides max-min fairness for a single node. What happens in networks with GPS nodes but without any rate control? Is max-min fairness achieved? Multiple node example: –1 flow from S1 to D1 –10 flows from S2 to D2 Calculate the per flow rates on the links when node X and Y provides GPS, independently from each other. (X considers the traffic that arrives to it from S1 and S2, Y considers the traffic arriving from X.) S1 S2 XY D2 D1 C=11 C=10 C=1 C=∞

26 26 Traffic control for max-min fairness GPS provides max-min fairness for a single node. What happens in networks with GPS nodes but without any rate control? Is max-min fairness achieved? Multiple node example: –1 flow from S1 to D1 –10 flows from S2 to D2 Without rate control: –X: rate 1 to all flows –Y: rate 0.1 to flows to D2 –Result: –Flow to D1: 1 –Flows to D2: 0.1 Fair rates would be: –Flows to D1: 10 –Flows to D2: 0.1 S1 S2 XY D2 D1 C=11 C=10 C=1 C=∞ Thus, max-min fairness is not achieved without end-to-end control.

27 27 Traffic control for fairness Student presentation on how to achieve fairness with distributed control –

28 28 Traffic control for fairness How to achieve fairness with distributed control – other results from Massoulie and Roberts With fixed window size: –FIFO achieves proportional fairness –longest queue first achieves maximum throughput –service proportional to the square root of the buffer content achieves minimum potential delay With dynamic window: –additive increase multiplicative decrease achieves proportional fair allocation (case of TCP) –logarithmic increase multiplicative decrease achieves minimum potential delay –max-min fair rate can not be achieved with increase- decrease algorithms

29 29 Fairness - objectives and algorithms - summary Step 1: what is the “optimal” share? –What is optimal – a design decision –Fairness definitions: max-min, proportional fair, etc. –Centralized algorithms to calculate fair shares Step 2: how to ensure fair shares? –Traffic control at the network edges (congestion or rate control) –Scheduling at the network nodes –E.g: –fixed window based congestion control + GPS: max-min –AIMD + FIFO: proportional fair


Download ppt "1 EP2210 Fairness Lecture material: –Bertsekas, Gallager, Data networks, 6.5 –L. Massoulie, J. Roberts, "Bandwidth sharing: objectives and algorithms,“"

Similar presentations


Ads by Google