Upload
jayme-ruiz
View
29
Download
0
Embed Size (px)
DESCRIPTION
Bandwidth Allocation with Multiple Objectives Or What Can We Do with Per-Flow State? Ashish Goel Stanford University Joint work with Sung-Woo Cho. http://www.stanford.edu/~ashishg. Window size. t. Bandwidth allocation. Consider N best-effort, long-lived flows sharing the Internet - PowerPoint PPT Presentation
Citation preview
04/19/23 [email protected] 1
Bandwidth Allocation with Multiple ObjectivesOr
What Can We Do with Per-Flow State?
Ashish Goel
Stanford University
Joint work with Sung-Woo Cho
http://www.stanford.edu/~ashishg
04/19/23 [email protected] 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
maxW
2maxW
t
Window size
04/19/23 [email protected] 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
04/19/23 [email protected] 4
Computing dual prices
j = Fractional occupancy of link j
pj must be an increasing function of j
Example: exponential prices, pj = aj
x1
x2
x3
x4
Four flows sharing
a 1Gbps linkSuppose x1 = x2 = x3 = x4 = 100Mbps
=> pj = a0.4 = very small
Suppose x1 = x2 = x3 = x4 = 300Mbps
=> pj = a1.2 = very large
Notice the lack of per-flow state
04/19/23 [email protected] 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
04/19/23 [email protected] 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
04/19/23 [email protected] 7
Maximizing throughput: contd
v1v3v2
x1
x3x2
e f
=0.9
=1
p=1
p=1/2
p
Initially, x1 = x2 = x3 = 0
pe, pf ¼ 0, x1,x2, x3 increase
Intermediate step: x1 = x2 = x3 = 0.45+
pe, pf > 0.5, x1,x2 increase, x3 now decreases
Finally, x1 = x2 = 1, x3 = 0
pe, pf = 1 , x1,x2, x3 at equilibrium
04/19/23 [email protected] 8
Some perspective
04/19/23 [email protected] 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
04/19/23 [email protected] 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]
04/19/23 [email protected] 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
04/19/23 [email protected] 12
Bandwidth allocation: goals
1. 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?
04/19/23 [email protected] 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
04/19/23 [email protected] 14
Example
v1 vn+1v3v2
n-1 long connections
n short (1-hop) connections
The average of the two solutions is good for both criteria
Max-min fair solution: Everyone gets bandwidth 1/n, total ¼ 2 Max-average solution: Long connections get 0, total = n
04/19/23 [email protected] 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?
04/19/23 [email protected] 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
04/19/23 [email protected] 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 1. ha,bi2. hb,ai3. 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)
1. Hence, f is a symmetric concave function2. Simultaneous optimization promotes all reasonable measures of fairness
04/19/23 [email protected] 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?
04/19/23 [email protected] 19
Why do we need per-flow state?
v1v3v2
x1
x3x2
e f
=0.9
=1
p=1
p=1/2
p
Initially, x1 = x2 = x3 = 0
pe, pf ¼ 0, x1,x2, x3 increase
Intermediate step: x1 = x2 = x3 = 0.45+
pe, pf > 0.5, x1,x2 increase, x3 now decreases
Finally, x1 = x2 = 1, x3 = 0
pe, pf = 1 , x1,x2, x3 at equilibrium
04/19/23 [email protected] 20
Dual prices with per-flow state
x1
x2
x3
x4
Four flows sharing
a 1Gbps linkSuppose 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
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
04/19/23 [email protected] 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)
04/19/23 [email protected] 22
How good is = O(log N)?
• Pretty good, for a simultaneous optimization
v1 vn+1v3v2
n-1 long connections
n short (1-hop) connections
TCP-RENO ¼ n1/2
Max-Min ¼ n
MAX-SUM = 1
TCP-VEGAS ¼ n1/2 (*)
04/19/23 [email protected] 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)
04/19/23 [email protected] 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