Bandwidth Allocation with Multiple Objectives Or

Slides:



Advertisements
Similar presentations
Martin Suchara, Ryan Witt, Bartek Wydrowski California Institute of Technology Pasadena, U.S.A. TCP MaxNet Implementation and Experiments on the WAN in.
Advertisements

Congestion Control and Fairness Models Nick Feamster CS 4251 Computer Networking II Spring 2008.
Congestion Control and Fairness Models Nick Feamster CS 4251 Computer Networking II Spring 2008.
Optimal Capacity Sharing of Networks with Multiple Overlays Zheng Ma, Jiang Chen, Yang Richard Yang and Arvind Krishnamurthy Yale University University.
Internet Protocols Steven Low CS/EE netlab.CALTECH.edu October 2004 with J. Doyle, L. Li, A. Tang, J. Wang.
1 Traffic Engineering (TE). 2 Network Congestion Causes of congestion –Lack of network resources –Uneven distribution of traffic caused by current dynamic.
Congestion Control Created by M Bateman, A Ruddle & C Allison As part of the TCP View project.
TCP Congestion Control Dina Katabi & Sam Madden nms.csail.mit.edu/~dina 6.033, Spring 2014.
CS640: Introduction to Computer Networks Mozafar Bag-Mohammadi Lecture 3 TCP Congestion Control.
Congestion Control: TCP & DC-TCP Swarun Kumar With Slides From: Prof. Katabi, Alizadeh et al.
Mathematical models of the Internet Frank Kelly Hood Fellowship Public Lecture University of Auckland 3 April 2012.
1 EL736 Communications Networks II: Design and Algorithms Class8: Networks with Shortest-Path Routing Yong Liu 10/31/2007.
Decomposable Optimisation Methods LCA Reading Group, 12/04/2011 Dan-Cristian Tomozei.
Congestion Control An Overview -Jyothi Guntaka. Congestion  What is congestion ?  The aggregate demand for network resources exceeds the available capacity.
Congestion control principles Presentation by: Farhad Rad (Advanced computer Networks Lesson in
XCP: Congestion Control for High Bandwidth-Delay Product Network Dina Katabi, Mark Handley and Charlie Rohrs Presented by Ao-Jan Su.
TCP Stability and Resource Allocation: Part II. Issues with TCP Round-trip bias Instability under large bandwidth-delay product Transient performance.
High Performance All-Optical Networks with Small Buffers Yashar Ganjali High Performance Networking Group Stanford University
Lecture 9. Unconstrained Optimization Need to maximize a function f(x), where x is a scalar or a vector x = (x 1, x 2 ) f(x) = -x x 2 2 f(x) = -(x-a)
Comparing flow-oblivious and flow-aware adaptive routing Sara Oueslati and Jim Roberts France Telecom R&D CISS 2006 Princeton March 2006.
Charge-Sensitive TCP and Rate Control Richard J. La Department of EECS UC Berkeley November 22, 1999.
Multiple constraints QoS Routing Given: - a (real time) connection request with specified QoS requirements (e.g., Bdw, Delay, Jitter, packet loss, path.
Bandwidth sharing: objectives and algorithms Jim Roberts France Télécom - CNET Laurent Massoulié Microsoft Research.
TCP Stability and Resource Allocation: Part I. References The Mathematics of Internet Congestion Control, Birkhauser, The web pages of –Kelly, Vinnicombe,
Network Bandwidth Allocation (and Stability) In Three Acts.
Core Stateless Fair Queueing Stoica, Shanker and Zhang - SIGCOMM 98 Rigorous fair Queueing requires per flow state: too costly in high speed core routers.
Multipath Protocol for Delay-Sensitive Traffic Jennifer Rexford Princeton University Joint work with Umar Javed, Martin Suchara, and Jiayue He
Congestion Control for High Bandwidth-Delay Product Environments Dina Katabi Mark Handley Charlie Rohrs.
UCB Improvements in Core-Stateless Fair Queueing (CSFQ) Ling Huang U.C. Berkeley cml.me.berkeley.edu/~hlion.
Core Stateless Fair Queueing Stoica, Shanker and Zhang - SIGCOMM 98 Fair Queueing requires per flow state: too costly in high speed core routers Yet, some.
DaVinci: Dynamically Adaptive Virtual Networks for a Customized Internet Jennifer Rexford Princeton University With Jiayue He, Rui Zhang-Shen, Ying Li,
A Unified Modeling Framework for Distributed Resource Allocation of General Fork and Join Processing Networks in ACM SIGMETRICS
1 MaxNet and TCP Reno/RED on mice traffic Khoa Truong Phan Ho Chi Minh city University of Technology (HCMUT)
Mazumdar Ne X tworking’03 June 23-25,2003, Chania, Crete, Greece The First COST-IST(EU)-NSF(USA) Workshop on EXCHANGES & TRENDS IN N ETWORKING 1 Non-convex.
1 Transport BW Allocation, and Review of Network Routing 11/2/2009.
Korea Advanced Institute of Science and Technology Network Systems Lab. 1 Dual-resource TCP/AQM for processing-constrained networks INFOCOM 2006, Barcelona,
High-speed TCP  FAST TCP: motivation, architecture, algorithms, performance (by Cheng Jin, David X. Wei and Steven H. Low)  Modifying TCP's Congestion.
Congestion Control in CSMA-Based Networks with Inconsistent Channel State V. Gambiroza and E. Knightly Rice Networks Group
DaVinci: Dynamically Adaptive Virtual Networks for a Customized Internet Jiayue He, Rui Zhang-Shen, Ying Li, Cheng-Yen Lee, Jennifer Rexford, and Mung.
EE 685 presentation Optimization Flow Control, I: Basic Algorithm and Convergence By Steven Low and David Lapsley.
T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 COMP/ELEC 429/556 Introduction to Computer Networks Principles of Congestion Control Some slides.
Jennifer Rexford Fall 2014 (TTh 3:00-4:20 in CS 105) COS 561: Advanced Computer Networks TCP.
1 An Arc-Path Model for OSPF Weight Setting Problem Dr.Jeffery Kennington Anusha Madhavan.
Receiver Driven Bandwidth Sharing for TCP Authors: Puneet Mehra, Avideh Zakor and Christophe De Vlesschouwer University of California Berkeley. Presented.
XCP: eXplicit Control Protocol Dina Katabi MIT Lab for Computer Science
Algorithmic Game Theory and Internet Computing Vijay V. Vazirani 3) New Market Models, Resource Allocation Markets.
Congestion Avoidance Created by M Bateman, A Ruddle & C Allison As part of the TCP View project.
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP Congestion Control.
Flows and Networks Plan for today (lecture 6): Last time / Questions? Kelly / Whittle network Optimal design of a Kelly / Whittle network: optimisation.
D. AriflerCMPE 548 Fall CMPE 548 Routing and Congestion Control.
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.
1 Network Transport Layer: TCP Analysis and BW Allocation Framework Y. Richard Yang 3/30/2016.
Impact of Interference on Multi-hop Wireless Network Performance
CS 268: Lecture 6 Scott Shenker and Ion Stoica
What Are Routers? Routers are an intermediate system at the network layer that is used to connect networks together based on a common network layer protocol.
Congestion control principles
TCP Congestion Control
TCP Congestion Control
TCP, XCP and Fair Queueing
Lecture 19 – TCP Performance
FAST TCP : From Theory to Experiments
COMP/ELEC 429/556 Introduction to Computer Networks
Networked Real-Time Systems: Routing and Scheduling
Algorithmic Game Theory and Internet Computing
Hemant Kr Rath1, Anirudha Sahoo2, Abhay Karandikar1
TCP Congestion Control
TCP Congestion Control
Joint work with Deborah Estrin, UCLA (Concave Costs)
Understanding Congestion Control Mohammad Alizadeh Fall 2018
Horizon: Balancing TCP over multiple paths in wireless mesh networks
Presentation transcript:

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 11/29/2018 ashishg@stanford.edu

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

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

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 11/29/2018 ashishg@stanford.edu

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

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

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

Some perspective 11/29/2018 ashishg@stanford.edu

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

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

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

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

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

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

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

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

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

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

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

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 = a0.4 For flow 2: Pretend x1 = 100, x2 = x3 = x4 = 200,  = 0.7, pj = a0.7 For flow 3: Pretend x1 = 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 11/29/2018 ashishg@stanford.edu

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

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

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

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