Download presentation
Presentation is loading. Please wait.
Published byFrederick Richardson Modified over 6 years ago
1
Bandwidth Allocation with Multiple Objectives Or
What Can We Do with Per-Flow State? Ashish Goel Stanford University Joint work with Sung-Woo Cho 11/29/2018
2
Bandwidth allocation Consider N best-effort, long-lived flows sharing the Internet Each flow only cares about its bandwidth allocation xi = bandwidth allocated to the i-th flow TCP: Additive Increase Multiplicative Decrease t Window size 11/29/2018
3
Primal-Dual approach to B/W allocation
Constraints: Can not exceed capacity on any link Convert 0/1 capacity constraints into “smooth” costs pj = price for link j Artificial. Known variously as dual costs, shadow prices etc. Compute the total price wi of all the links in path of i-th flow Primal update (real): wi high => decrease xi wi low => increase xi Recompute pj, wi; iterate Primal-Dual algorithm: compute prices, decide increase/decrease rule 11/29/2018
4
Computing dual prices j = Fractional occupancy of link j
pj must be an increasing function of j Example: exponential prices, pj = aj Four flows sharing a 1Gbps link Suppose x1 = x2 = x3 = x4 = 100Mbps => pj = a0.4 = very small x1 x2 Suppose x1 = x2 = x3 = x4 = 300Mbps => pj = a1.2 = very large x3 x4 Notice the lack of per-flow state 11/29/2018
5
Computing wi Imagine a field called “dual cost” in IP header
TCP sender initializes this to 0 Every link along the way can add its own price to this header TCP recipient sends this field back to the sender in the ACK Sender can then use this field to modify its rate Very powerful framework Question: what can we do with per-flow state? First, focus on what we can do without per-flow state 11/29/2018
6
Example: maximize total throughput
[Bartal, Byers, Raz; Plotkin, Shmoys, Tardos; Garg, Konemann] Use exponential dual prices Flow i increases xi if its total cost wi is less than 1 and decreases it otherwise Upon convergence, the algorithm maximizes i xi Can be made to converge very fast polylogarithmic time 11/29/2018
7
Maximizing throughput: contd
Initially, x1 = x2 = x3 = 0 pe, pf ¼ 0, x1,x2, x3 increase v1 v2 v3 e f x1 x2 x3 Intermediate step: x1 = x2 = x3 = 0.45+ pe, pf > 0.5, x1,x2 increase, x3 now decreases p p=1 p=1/2 =1 Finally, x1 = x2 = 1, x3 = 0 pe, pf = 1 , x1,x2, x3 at equilibrium =0.9 11/29/2018
8
Some perspective 11/29/2018
9
Example: congestion minimization
[Plotkin, Shmoys, Tardos; Garg, Konemann] Set OSPF weights using exponential costs Send packets on shortest paths using these weights With fixed traffic pattern, congestion (i.e. maximum link occupancy) is minimized 11/29/2018
10
Example: utility maximization
[Kelly, Maullo, Tan] Goal: maximize i Ui(xi) Ui = utility function for flow i Ui is assumed to be concave, non-decreasing, non-negative Primal-dual algorithm results in utility maximization Simple rule for updating xi Prices pj depend only on j Convergence understood, but not in complete detail [Johari,Tan; Vinnicombe] 11/29/2018
11
Example: TCP as implicit primal-dual
[Kelly, Maullo, Tan; Low, Peterson, Wang] TCP reacts to drops pj = drop probability, which depends only on j TCP AIMD: reacts to wi = aggregate drop probability along the route Example: basic TCP approximately follows the dynamics dxi/dt = a - bxi2 wi Can be interpreted as a primal-dual algorithm TCP Vegas: implicitly maximizes i log xi Another variant: maximizes i tan-1xi 11/29/2018
12
Bandwidth allocation: goals
Leverage existing theory Get a “dual cost” field into the IP header Teach primal-dual algorithms for resource allocation Algorithmic (Goel: Topics in network algorithms, winter 2006) Economic (Johari) 2. Does per-flow state give us additional power? 11/29/2018
13
Which utility function to maximize?
It is not apriori clear which utility function to maximize i log xi i tan-1xi i xi mini xi (or max-min fairness; achieved by fair queueing at each router or by the poor stealing from the rich) Pk(x) = sum of the k smallest xi’s (Prefix functions) All the above choices are reasonable And there are many, many more Need a “fair” allocation Need to maximize efficiency Different choices lead to dramatically different allocations 11/29/2018
14
n short (1-hop) connections
Example v1 vn+1 v3 v2 n-1 long connections n short (1-hop) connections Max-min fair solution: Everyone gets bandwidth 1/n, total ¼ 2 Max-average solution: Long connections get 0, total = n The average of the two solutions is good for both criteria 11/29/2018
15
Another example How to split a pie?
But what if there are more constraints? Alice and Eddy want only apple pie Frank: allergic to apples Cathy: equal portions of both pies David: twice as much apple pie as lemon How do we measure the “goodness” of an allocation? 11/29/2018
16
Goal: simultaneous optimization
Suppose the utility function is U(x1,x2,…,xN) Canonical Utility Functions: Assume that U is Concave (the law of diminishing returns) Non-decreasing (more bandwidth can not harm) Symmetric in x1,x2,…,xN Includes all the utility functions we have seen in this talk, and all the fairness functions we found in the literature Simultaneous optimization: (Approximately) maximize U(x) simultaneously for all canonical U 11/29/2018
17
Why simultaneous optimization?
Often, the utility function is poorly understood, but is likely to be canonical, e.g. customer satisfaction Consider the following three allocations of bandwidths to two users ha,bi hb,ai h(a+b)/2,(a+b)/2i If f measures fairness, then intuitively, f(a,b) = f(b,a) · f((a+b)/2,(a+b)/2) Hence, f is a symmetric concave function Simultaneous optimization promotes all reasonable measures of fairness 11/29/2018
18
Simultaneous optimization
[Goel, Meyerson] A bandwidth allocation x = hx1,x2,…,xNi is an -approximation for a class of functions if for all feasible allocations y and all functions U in the class, U(x) ¸ U(y) Pk(x) = sum of the k smallest xi’s (prefix functions) Theorem: x is an -approximation for the class of all canonical functions if and only if it is an -approximation for the class of all N prefix functions Gives us some hope Theorem: There exists an efficient centralized algorithm to ensure = O(log N), and this is the best possible Question: Can we obtain a TCP-like protocol that does the same thing? 11/29/2018
19
Why do we need per-flow state?
Initially, x1 = x2 = x3 = 0 pe, pf ¼ 0, x1,x2, x3 increase v1 v2 v3 e f x1 x2 x3 Intermediate step: x1 = x2 = x3 = 0.45+ pe, pf > 0.5, x1,x2 increase, x3 now decreases p p=1 p=1/2 =1 Finally, x1 = x2 = 1, x3 = 0 pe, pf = 1 , x1,x2, x3 at equilibrium =0.9 11/29/2018
20
Dual prices with per-flow state
Four flows sharing a 1Gbps link Suppose x1 = 100, x2 = 200, x3 = 300, x4 = 400 Mbps Assume that the link knows x1,x2,x3,x4 Dual price computation uses simple exponential costs a but with different link occupancy values for different flows x1 x2 x3 x4 For flow 1: Pretend x1 = x2 = x3 = x4 = 100, = 0.4, pj = a0.4 For flow 2: Pretend x1 = 100, x2 = x3 = x4 = 200, = 0.7, pj = a0.7 For flow 3: Pretend x1 = 100, x2 = 200, x3 = x4 = 300, = 0.9, pj = a0.9 For flow 4: x1 = 100, x2 = 200, x3 = 300, x4 = 400, = 1.0, pj = a 11/29/2018
21
Primal updates with per-flow state
Really simple: wi < 1 => increase xi wi > 1 => decrease xi Example rule: dxi/dt = -log wi At equilibrium, for all canonical utility functions U, U(x) ¸ U(y) for all feasible y and with = O(log N) 11/29/2018
22
n short (1-hop) connections
How good is = O(log N)? Pretty good, for a simultaneous optimization v1 v2 v3 vn+1 n-1 long connections n short (1-hop) connections aTCP-RENO ¼ n1/2 aMax-Min ¼ n MAX-SUM = 1 aTCP-VEGAS ¼ n1/2 (*) 11/29/2018
23
Convergence time Primal-dual algorithm converges exponentially fast with single bottleneck link per flow If we start from the all zeroes point, we need only polylogarithimic number of iterations (really small) 11/29/2018
24
Conclusion Principled tradeoff of different utility functions and performance measures Extensions Convergence time Heterogeneity: Assume user i has individual utility function fi. Then maximize U(f1(x1), f2(x2), …, fN(xN)) for all canonical U Clean-Slate directions Primal-dual as a paradigm to think about networks Original spirit of TCP: don’t over-optimize for any one feature 11/29/2018
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.