Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Transport Bandwidth Allocation 3/29/2012. Admin. r Exam 1 m Max: 65 m Avg: 52 r Any questions on programming assignment 2 2.

Similar presentations


Presentation on theme: "1 Transport Bandwidth Allocation 3/29/2012. Admin. r Exam 1 m Max: 65 m Avg: 52 r Any questions on programming assignment 2 2."— Presentation transcript:

1 1 Transport Bandwidth Allocation 3/29/2012

2 Admin. r Exam 1 m Max: 65 m Avg: 52 r Any questions on programming assignment 2 2

3 3 Recap: TCP/Reno: Big Picture Time cwnd slow start congestion avoidance TD TD: Triple duplicate acknowledgements TO: Timeout TO ssthresh congestion avoidance TD congestion avoidance slow start congestion avoidance TD

4 4 Recap: TCP/Reno Queueing Dynamics r Consider congestion avoidance only Time cwnd congestion avoidance TD ssthresh bottleneck bandwidth filling buffer draining buffer There is a filling and draining of buffer process for each TCP flow.

5 5 Recap: TCP/Reno Throughput Modeling: Relating W with Loss Rate p r Consider congestion avoidance only Time cwnd congestion avoidance TD ssthresh Assume one packet loss (loss event) per cycle Total packets send per cycle = (W/2 + W)/2 * W/2 = 3W 2 /8 Thus p = 1/( 3W 2 /8) = 8/(3W 2 ) available bandwidth W/2 W

6 6 Recap: TCP/Reno Throughput Modeling =>

7 7 TCP/Reno Dynamics

8 8 queue size for every RTT { if W – W/RTT RTT min <  then W ++ if W – W/RTT RTT min >  then W -- } for every loss W := W/2 Recap: TCP/Vegas CA algorithm SS time window CA maintain a constant number of packets in the bottleneck buffer

9 9 TCP/Vegas Dynamics

10 10 TCP/Reno vs. TCP/Vegas TCP/RenoTCP/Vegas Congestion signal Dynamics (x’) Equilibrium loss rate p queueying delay T queueing Discussion: Why and why not TCP/Vegas?

11 11 Interpreting Congestion Measure r A congestion measure (loss/delay) is a signal from the network to the flows reflecting congestion r Another way to think of congestion measure is to think of it as “price” m price goes up as the rate to a link is getting close to capacity m the higher the “price”, the lower the rate

12 12 Interpreting Congestion Measure x f (t) q l (t) q 2 (t) TCP/Reno: TCP/Vegas:

13 Outline r Recap r Network bandwidth allocation framework m motivation 13

14 14 Motivation r So far our discussion is implicitly on a network with a single bottleneck link; this simplifies design and analysis: m efficiency/optimality (high utilization) fully utilize the bandwidth of the link m fairness (resource sharing) each flow receives an equal share of the link’s bandwidth

15 15 Network Resource Allocation r It is important to understand and design protocols for a general network topology m how will TCP allocate resource in a general topology? m how should resource be allocated in a general topology?

16 16 Example: TCP/Reno Rates x1x1 x2x2 x3x3 Rate: x 1 = 0.26 x 2 = x 3 = 0.74 C= 1

17 17 Example: TCP/Vegas Rates x1x1 x2x2 x3x3 Rates : x 1 = 1/3 x 2 = x 3 = 2/3 C= 1

18 18 Example: Maximize Throughput x1x1 x2x2 x3x3 Optimal: x 1 = 0 x 2 = x 3 = 1 C= 1

19 Example: Max-min Fairness r Max-min fairness: maximizes the throughput of the flow receiving the minimum (of resources) Justification: John Rawls, A Theory of Justice (1971) http://en.wikipedia.org/wiki/John_Rawls This is a resource allocation scheme used in Asynchronous Transfer Mode and some other network resource allocation proposals 19

20 20 Example: Max-Min x1x1 x2x2 x3x3 Rates: x 1 = x 2 = x 3 = 1/2 C= 1

21 21 Network Resource Allocation Using Utility Functions r A set of flows F r If x f is the rate of flow f, then the utility to flow f is U f (x f ), where U f (x f ) is a concave utility function. r Maximize aggregate utility, subject to capacity constraints

22 22 Example: Proportional Fairness x1x1 x2x2 x3x3 Optimal: x 1 = 1/3 x 2 = x 3 = 2/3 C= 1

23 23 Example 3: a Utility Function x1x1 x2x2 x3x3 Optimal: x 1 = 0.26 x 2 = x 3 = 0.74 C= 1

24 Summary: Allocation ObjectiveAllocation (x1, x2, x3) TCP/Reno0.260.74 TCP/Vegas1/32/3 Max Throughput011 Max-min½½½ Max sum log(x)1/32/3 Max sum of -1/(RTT 2 x)0.260.74 24 x1x1 x2x2 x3x3 C= 1

25 Questions r Forward engineering: which allocation objective when allocation by optimization? r Reverse engineering: what are the objectives of TCP/Reno, TCP/Vegas? 25 ObjectiveAllocation (x1, x2, x3) TCP/Reno0.260.74 TCP/Vegas1/32/3 Max throughput011 Max-min½½½ Max sum log(x)1/32/3 Max sum of -1/(RTT 2 x)0.260.74

26 Outline r Recap r Bandwidth allocation framework m Motivation m Forward: Nash Bargaining Solution (NBS) 26

27 27 Network Bandwidth Allocation Using Nash Bargain Solution (NBS) r High level picture m given the feasible set of bandwidth allocation, we want to pick an allocation point that is efficient and fair r The determination of the allocation point should be based on “first principles” (axioms)

28 28 Network Bandwidth Allocation: Feasible Region x1x1 x2x2 x3x3 C= 1 x1x1 x3x3 x2x2

29 29 Nash Bargain Solution (NBS) r Assume a finite, convex feasible set in the first quadruant r Axioms m Pareto optimality impossibility of increasing the rate of one user without decreasing the rate of another m symmetry a symmetric feasible set yields a symmetric outcome m invariance of linear transformation the allocation must be invariant to linear transformations of users’ rates m independence of irrelevant alternatives assume s is an allocation when feasible set is R, s  T  R, then s is also an allocation when the feasible set is T R T s x1x1 x2x2

30 30 Nash Bargain Solution (NBS) r Surprising result by John Nash (1951) m the rate allocation point is the feasible point which maximizes r This is equivalent to maximize r In other words, assume each flow f has utility function log(x f ) r I will give a proof for F = 2 m think about F > 2 R x1x1 x2x2

31 31 Nash Bargain Solution s x1 * x2 r Assume s is the feasible point which maximizes x1 * x2 r Scale the feasible set so that s is at (1, 1) r Question: after the transformation, is s still the point maximizing x1*x2? x2x2 x1x1 1 1

32 32 Nash Bargain Solution x1 = x2 s x1 + x2 = 2 x1 * x2 = 1 Question: after the transformation, is there any feasible point with x1 + x2 > 2? P Q x1x1 x2x2 R 1 1

33 33 Nash Bargain Solution x1 = x2 s x1 + x2 = 2 x1 * x2 = 1 r Consider the symmetric rectangle U containing the original feasible set -> According to symmetry and Pareto, s is the allocation when feasible set is U r According to independence of irrelevant alternatives, the allocation of R is s as well. x1x1 x2x2 R 1 1 U

34 34 NBS  Proportional Fairness  Allocation is proportionally fair if for any other allocation, aggregate of proportional changes is non-positive, e.g. if x f is a proportional-fair allocation, and y f is any other feasible allocation, then require

35 Summary: Allocation Schemes r Max throughput r Max-min r Proportional fair m NBS 35 x1x1 x3x3 x2x2

36 Questions r Forward engineering: which allocation objective when allocation by optimization? m NBS  Reverse engineering: what are the objectives of TCP/Reno, TCP/Vegas? 36 ObjectiveAllocation (x1, x2, x3) TCP/Reno0.260.74 TCP/Vegas1/32/3 Max throughput011 Max-min½½½ Max sum log(x)1/32/3 Max sum of -1/(RTT 2 x)0.260.74

37 37 Recall: Resource Allocation Framework r Maximize aggregate utility, subject to capacity constraints


Download ppt "1 Transport Bandwidth Allocation 3/29/2012. Admin. r Exam 1 m Max: 65 m Avg: 52 r Any questions on programming assignment 2 2."

Similar presentations


Ads by Google