1 / 24

Bandwidth Allocation with Multiple Objectives Or What Can We Do with Per-Flow State?

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

jayme-ruiz
Download Presentation

Bandwidth Allocation with Multiple Objectives Or What Can We Do with Per-Flow State?

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Bandwidth Allocation with Multiple Objectives Or What Can We Do with Per-Flow State? Ashish GoelStanford UniversityJoint work with Sung-Woo Cho http://www.stanford.edu/~ashishg ashishg@stanford.edu

  2. Window size t 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 ashishg@stanford.edu

  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 ashishg@stanford.edu

  4. Computing dual prices j = Fractional occupancy of link j pj must be an increasing function of j Example: exponential prices, pj = aj Four flows sharing a 1Gbps link Suppose x1 = x2 = x3 = x4 = 100Mbps => pj = a0.4 = very small x1 x2 Suppose x1 = x2 = x3 = x4 = 300Mbps => pj = a1.2 = very large x3 x4 Notice the lack of per-flow state ashishg@stanford.edu

  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 ashishg@stanford.edu

  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 ashishg@stanford.edu

  7. Maximizing throughput: contd Initially, x1 = x2 = x3 = 0 pe, pf¼ 0, x1,x2, x3 increase v2 v3 v1 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, x3at equilibrium  =0.9 ashishg@stanford.edu

  8. Some perspective ashishg@stanford.edu

  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 ashishg@stanford.edu

  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] ashishg@stanford.edu

  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 ashishg@stanford.edu

  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? ashishg@stanford.edu

  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 ashishg@stanford.edu

  14. v2 v3 v1 vn+1 n-1 long connections n short (1-hop) connections Example 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 ashishg@stanford.edu

  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? ashishg@stanford.edu

  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)maximizeU(x)simultaneouslyfor all canonical U ashishg@stanford.edu

  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 ashishg@stanford.edu

  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? ashishg@stanford.edu

  19. Why do we need per-flow state? Initially, x1 = x2 = x3 = 0 pe, pf¼ 0, x1,x2, x3 increase v2 v3 v1 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, x3at equilibrium  =0.9 ashishg@stanford.edu

  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: Pretendx1 =x2 = x3 = x4 = 100,  = 0.4, pj = a0.4 For flow 2: Pretendx1 = 100,x2 = x3 = x4 = 200,  = 0.7, pj = a0.7 For flow 3: Pretendx1 = 100,x2 = 200, x3 = x4 = 300,  = 0.9, pj = a0.9 For flow 4: x1 = 100,x2 = 200, x3 = 300, x4 = 400,  = 1.0, pj = a ashishg@stanford.edu

  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) ashishg@stanford.edu

  22. n-1 long connections n short (1-hop) connections How good is  = O(log N)? • Pretty good, for a simultaneous optimization v2 v3 v1 vn+1 aTCP-RENO¼ n1/2 aMax-Min¼ n MAX-SUM = 1 aTCP-VEGAS¼ n1/2 (*) ashishg@stanford.edu

  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) ashishg@stanford.edu

  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 ashishg@stanford.edu

More Related