1 Network Transport Layer: Primal-Dual Resource Allocation; TCP in New Settings Y. Richard Yang 4/6/2016.

Slides:



Advertisements
Similar presentations
Congestion Control and Fairness Models Nick Feamster CS 4251 Computer Networking II Spring 2008.
Advertisements

TCP Variants.
Internet Protocols Steven Low CS/EE netlab.CALTECH.edu October 2004 with J. Doyle, L. Li, A. Tang, J. Wang.
Lecturer: Namratha Vedire
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.
Mathematical models of the Internet Frank Kelly Hood Fellowship Public Lecture University of Auckland 3 April 2012.
Ahmed El-Hassany CISC856: CISC 856 TCP/IP and Upper Layer Protocols Slides adopted from: Injong Rhee, Lisong Xu.
CUBIC Qian HE (Steve) CS 577 – Prof. Bob Kinicki.
Advanced Computer Networking Congestion Control for High Bandwidth-Delay Product Environments (XCP Algorithm) 1.
Congestion Control An Overview -Jyothi Guntaka. Congestion  What is congestion ?  The aggregate demand for network resources exceeds the available capacity.
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.
Receiver-driven Layered Multicast S. McCanne, V. Jacobsen and M. Vetterli SIGCOMM 1996.
5: DataLink Layer5-1 Asynchronous Transfer Mode: ATM r 1990’s/00 standard for high-speed (155Mbps to 622 Mbps and higher) Broadband Integrated Service.
Transport Layer 3-1 Fast Retransmit r time-out period often relatively long: m long delay before resending lost packet r detect lost segments via duplicate.
TCP Stability and Resource Allocation: Part I. References The Mathematics of Internet Congestion Control, Birkhauser, The web pages of –Kelly, Vinnicombe,
Chapter 4 Network Layer slides are modified from J. Kurose & K. Ross CPE 400 / 600 Computer Communication Networks Lecture 14.
High-performance bulk data transfers with TCP Matei Ripeanu University of Chicago.
Chapter 4 Network Layer slides are modified from J. Kurose & K. Ross CPE 400 / 600 Computer Communication Networks Lecture 13.
EE 685 presentation Optimization Flow Control, I: Basic Algorithm and Convergence By Steven Low and David Lapsley Asynchronous Distributed Algorithm Proof.
1 Network Layer: Host-to-Host Communication. 2 Network Layer: Motivation Can we built a global network such as Internet by extending LAN segments using.
Rethinking Internet Traffic Management: From Multiple Decompositions to a Practical Protocol Jiayue He Princeton University Joint work with Martin Suchara,
Combining Multipath Routing and Congestion Control for Robustness Peter Key.
On Self Adaptive Routing in Dynamic Environments -- A probabilistic routing scheme Haiyong Xie, Lili Qiu, Yang Richard Yang and Yin Yale, MR and.
Network Layer Goals: understand principles behind network layer services: –routing (path selection) –dealing with scale –how a router works –advanced topics:
DaVinci: Dynamically Adaptive Virtual Networks for a Customized Internet Jennifer Rexford Princeton University With Jiayue He, Rui Zhang-Shen, Ying Li,
3: Transport Layer3b-1 Principles of Congestion Control Congestion: r informally: “too many sources sending too much data too fast for network to handle”
Transport Layer 4 2: Transport Layer 4.
Asynchronous Transfer Mode: ATM r 1980s/1990’s standard for high-speed (155Mbps to 622 Mbps and higher) Broadband Integrated Service Digital Network architecture.
Network Layer4-1 Chapter 4: Network Layer Chapter goals: r understand principles behind network layer services: m network layer service models m forwarding.
Chapter 4 Network Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 Network Layer introduction.
Chapter 4 Network Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 A note on the use of these.
1 Transport BW Allocation, and Review of Network Routing 11/2/2009.
Internet Protocol ECS 152B Ref: slides by J. Kurose and K. Ross.
4: Network Layer4-1 Schedule Today: r Finish Ch3 r Collect 1 st Project r See projects run r Start Ch4 Soon: r HW5 due Monday r Last chance for Qs r First.
1 Week 5 Lecture 2 IP Layer. 2 Network layer functions transport packet from sending to receiving hosts transport packet from sending to receiving hosts.
1 Mao W07 Midterm Review EECS 489 Computer Networks Z. Morley Mao Monday Feb 19, 2007 Acknowledgement: Some.
BIC Control for Fast Long-Distance Networks paper written by Injong Rhee, Lisong Xu & Khaled Harfoush (2004) Presented by Jonathan di Costanzo (2009/02/18)
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.
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March
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.
XCP: eXplicit Control Protocol Dina Katabi MIT Lab for Computer Science
Internet Traffic Engineering Motivation: –The Fish problem, congested links. –Two properties of IP routing Destination based Local optimization TE: optimizing.
CS 268: Lecture 5 (TCP Congestion Control) Ion Stoica February 4, 2004.
@Yuan Xue A special acknowledge goes to J.F Kurose and K.W. Ross Some of the slides used in this lecture are adapted from their.
@Yuan Xue A special acknowledge goes to J.F Kurose and K.W. Ross Some of the slides used in this lecture are adapted from their.
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.
1 Transport Bandwidth Allocation, Intro to Network Layer 4/3/2012.
4: Network Layer4a-1 Chapter 4: Network Layer Chapter goals: r understand principles behind network layer services: m routing (path selection) m dealing.
1 Network Layer: Routing Distributed, Distance Vector Protocols Y. Richard Yang 4/11/2016.
Approaches towards congestion control
CUBIC Marcos Vieira.
Introduction to Congestion Control
Network Layer Goals: Overview:
TCP Congestion Control
TCP Congestion Control
Lecture 19 – TCP Performance
So far, On the networking side, we looked at mechanisms to links hosts using direct linked networks and then forming a network of these networks. We introduced.
TCP Cubic CS577 Brett Levasseur 10/1/2013.
TCP Congestion Control
TCP Congestion Control
Transport Layer: Congestion Control
TCP flow and congestion control
Network Layer: intro; Distance Vector Protocols
Network Transport Layer: TCP/Reno Analysis, TCP Cubic, TCP/Vegas
Review of Internet Protocols Transport Layer
Presentation transcript:

1 Network Transport Layer: Primal-Dual Resource Allocation; TCP in New Settings Y. Richard Yang 4/6/2016

2 Outline  Admin and recap  Bandwidth allocation framework  Network overview

Admin. r Exam 1 m High – 74 m Low – 36 m Solutions and grading rubric to be posted online Please discuss any questions with me and TFs r Assignment four m Questions? r Projects 3

Admin: Web Server Benchmarking (2016; Using Zoo Machines) 4

Admin: Web Server Benchmarking (Dedicated Machine; 2013) 5 - Apache: Gbps - Fastest student server: Gbps Apache (2013)

Outline r Recap  Transport congestion control  What is congestion  The AIMD alg o TCP/reno congestion control o TCP/Vegas o A unifying view of TCP/Reno TCP/Vegas o Network wide resource allocation o Framework o Axiom derivation of network-wide objective function  Derive distributed algorithm

Outline r Recap  Transport congestion control  What is congestion  The AIMD alg o TCP/reno congestion control o TCP/Vegas o A unifying view of TCP/Reno TCP/Vegas o Network wide resource allocation o Framework o Axiom derivation of network-wide objective function  Derive distributed algorithm

8 Recap: TCP/Reno and TCP/Vegas TCP/RenoTCP/Vegas Congestion signal Dynamics (x’) Equilibrium loss rate p queueying delay T queueing

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

Recap: Network-Wide Resource Allocation Examples ObjectiveAllocation (x1, x2, x3) TCP/Reno TCP/Vegas1/32/3 Max Throughput011 Max-min½½½ Max sum log(x)1/32/3 Max sum of -1/(RTT 2 x) x1x1 x2x2 x3x3 C= 1

11 Roadmap: Resource Allocation Frameworks r Engineering (design): m how to determine objective? m given objective, how to design effective alg? r Science/reverse engineering (understand): m better understanding of current protocols

12 Recap: Nash Bargain Solution (NBS) r R T s x1x1 x2x2

13 Recap: 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 x1x1 x2x2

Outline r Recap  Transport congestion control  What is congestion  The AIMD alg o TCP/reno congestion control o TCP/Vegas o A unifying view of TCP/Reno TCP/Vegas o Network wide resource allocation o Framework o Axiom derivation of network-wide objective function  Derive distributed algorithm

15 Problem x1x1 x2x2 x3x3 1 1 Typical setting: max f(x) s.t. x in S

16 Problem x1x1 x2x2 x3x3 1 1 Q: Why is it hard to solve the problem using a distributed protocol (i.e., in the Internet)?

17 A Two-Slide Summary of Constrained Convex Optimization Theory g(x) f(x) f(x) concave g(x) linear S is a convex set q S -Map each x in S, to [g(x), f(x)] -For each slope q (>=0), computes f(x) – q g(x) of all mapped [f(x), g(x)] q

18 A Two-Slide Summary of Constrained Convex Optimization Theory g(x) f(x) f(x) concave g(x) linear S is a convex set q1q1 q2q2 S -D(q) is called the dual; q (>= 0) are called prices in economics - According to optimization theory: when D(q) achieves minimum over all q (>= 0), then the optimization objective is achieved. -D(q) provides an upper bound on obj. q3q3

19 Dual of the Primal x1x1 x2x2 x3x3 1 1

20 Decomposition r Assume each link l has non-negative congestion signal q l, consider the dual D(q) x1x1 x2x2 x3x3 1 1

21 Distributed Optimization: User Problem r Given network-wide signal per unit rate p f (=sum of q l along the path), flow f chooses rate x f to maximize: r Using the network signals, the optimization problem of each user is decoupled: independent of each other!

22 Distributed Optimization: User Problem At equilibrium (i.e., at optimal), x f satisfies: How should flow f adjust x f locally?

23 Interpreting Congestion Measure x f (t) q l (t) q 2 (t)

24 Distributed Optimization: Network Problem Assume after all flows have picked their optimal rates given congestion signal, the network (i.e., link l) adjusts the link signals q l :

25 Distributed Optimization: Network Problem how should link l adjust q l locally?

26 Decomposition r SYSTEM(U): r USER f : r NETWORK:

Outline r Recap  Transport congestion control  What is congestion  The AIMD alg o TCP/reno congestion control o TCP/Vegas o A unifying view of TCP/Reno TCP/Vegas o Network wide resource allocation o Framework o Axiom derivation of network-wide objective function o Derive distributed algorithm  TCP/Reno, TCP/Vegas revisited

28 TCP/Reno Dynamics

29 TCP/Vegas Dynamics

30 Summary: TCP/Vegas and TCP/Reno r Pricing signal is queueing delay T queueing r Pricing signal is loss rate p

31 Summary: Resource Allocation Framework r Engineering (design): m how to determine objective? m given objective, how to design effective alg? r Science/reverse engineering (understand): m better understanding of current protocols r Additional pointers m

Outline r Recap  Transport congestion control  What is congestion  The AIMD alg o TCP/reno congestion control o TCP/Vegas o A unifying view of TCP/Reno TCP/Vegas o Network wide resource allocation o Framework o Axiom derivation of network-wide objective function o Derive distributed algorithm  New protocols

Motivation TCP/Reno growth function Time cwnd CA TD ssthresh TD WmWm CA Grows linearly throughout. Motivation: Is there a faster way?

TCP BIC Algorithm  Setting - W max = cwnd size before reduction -Too big - W min = β*W max – just after reduction, where β is multiplicative decrease factor -Small  Basic idea - binary search between W max and W min Time cwnd CA TD Wmin TD WmWm CA Wmax

TCP BIC Algorithm: Issues  Pure binary search (jump from W min to (W max and W min )/2) may be too aggressive o Use a large step size Smax  What if you grow above W max ? - Use binary growth (slow start) to probe more Time cwnd CA TD Wmin TD WmWm CA Wmax

TCP BIC Algorithm Packet loss event W max W min = β*W max midpoint = (W min + W max )/2 midpoint – W min > S max W min + S max W min midpoint = (W min + W max )/2 W min + S max W min Additive Increase midpoint = (W min + W max )/2 W min + S min W min (midpoint – W min )< S min Binary Search W max + S min W max +S max Slow Start W max + 2S max W max + 3S max Additive Inc. Max Probing

TCP BIC Algorithm while (cwnd < Wmax) { if ( (midpoint - Wmin) > Smax ) cwnd = cwnd + Smax else if ((midpoint - Wmin) < Smin) cwnd = Wmax else cwnd = midpoint if (no packet loss) Wmin = cwnd else Wmin = β*cwnd Wmax = cwnd midpoint = (Wmax + Wmin)/2 } Additive Increase Binary Search

TCP BIC Algorithm: Probe while (cwnd >= W max ){ if (cwnd < W max + S max ) cwnd = cwnd + S min else cwnd = cwnd + S max if (packet loss) W min = β*cwnd W max = cwnd } Slow growth Fast growth Max Probing

TCP BIC - Summary Packet loss event Binary Increase Additive Increase Slow Start Max Probing + S max Time Additive Increase W max jump to midpoint + S min + S max

TCP BIC in Action

41 TCP BIC Analysis  Advantages o Faster convergence at large gap o Slower growth at convergence to avoid timeout  Issues o Still depend on RTT o Complex growth function More details:

TCP Cubic  cwnd = C( t – K) 3 + W max, where - W max = cwnd before last reduction - C scaling factor - t is the time elapsed since last window reduction - - β multiplicative decrease factor

TCP CUBIC Packet loss event Time Steady State Behavior Max Probing W max Around W max, window growth almost becomes zero Fast growth upon reduction Cubic starts probing for more bandwidth

TCP CUBIC Advantages  Good RTT fairness  Growth dominated by t, competing flows have same t after synchronized packet loss  Real-time dependent  Similar to BIC but linear increases are time dependent  Does not depend on ACK’s like TCP/ Reno  Scalability  Cubic increases window to W max (or its vicinity) quickly and keeps it there longer

TCP CUBIC Drawbacks  Slow Convergence - Flows with higher cwnd are more aggressive initially => Prolonged unfairness between flows - More details: ubic-paper.pdf

Summary  Many aspects of TCP can be studied, for example TCP under wireless (LTE) 

47 Outline  Admin and recap  Network resource allocation framework  Network overview

48 Network Layer r Transport packet from source to dest. r Network layer in every host, router Basic function: m determine route taken by packets of a flow, and move the packets along the route

49 Network Layer: Complexity Factors r For network providers m efficiency of routes m policy control on routes m scalability r For users: quality of services m guaranteed bandwidth? m preservation of inter-packet timing (no jitter)? m loss-free delivery? m in-order delivery? r Interaction between users and network providers m signaling: congestion feedback/resource reservation

50 Network Layer Quality of Service Network Architecture Internet ATM Service Model best effort CBR VBR ABR UBR Bandwidth none constant rate guaranteed rate guaranteed minimum none Loss no yes no Order no yes Timing no yes no Congestion feedback no (inferred via loss/delay) no congestion no congestion yes no Guarantees ? r Internet model being extended: Intserv, Diffserv m multimedia networking ATM: Asynchronous Transfer Mode; CBR: Constant Bit Rate; V: Variable; A: available; U: User

51 Current Internet Network Layer forwarding Network layer functions: Routing protocols path selection e.g., RIP, OSPF, BGP Network layer protocol (e.g., IP) addressing conventions packet format packet handling conventions Control protocols error reporting e.g. ICMP Transport layer Link layer physical layer Network layer Control protocols - router “signaling” e.g. RSVP

52 Routing: Overview Graph abstraction for the routing problem: r graph nodes are routers r graph edges are physical links m links have properties: delay, capacity, $ cost, policy Goal: determine “good” paths (sequences of routers) thru networks from source to dest. Routing A E D CB F

53 Routing Design Space r Routing has a large design space m who decides routing? source routing: end hosts make decision network routing: networks make decision m how many paths from source s to destination d? multi-path routing single path routing m will routing adapt to network traffic demand? adaptive routing static routing m…m… - Robustness - Optimality - Simplicity

54 Routing Design Space: User-based, Multipath, Adaptive r Routing has a large design space m who decides routing?  source routing: end hosts make decision network routing: networks make decision m how many paths from source s to destination d?  multi-path routing single path routing m will routing adapt to network traffic demand?  adaptive routing static routing m … - Robustness - Optimality - Simplicity

55 User Optimal, Multipath, Adaptive r User optimal: users pick the shortest routes (selfish routing) Braess’s paradox

56 Price of Anarchy For a network with linear latency functions  total latency of user (selfish) routing for given traffic demand ≤ 4/3 total latency of network optimal routing for the traffic demand

57 Price of Anarchy r For any network with continuous, non- decreasing latency functions  total latency of user (selfish) routing for given traffic demand ≤ total latency of network optimal routing for twice traffic demand

58 r Routing has a large design space m who decides routing? source routing: end hosts make decision  network routing: networks make decision - (applications such as overlay and p2p are trying to bypass it) m how many paths from source s to destination d? multi-path routing  single path routing (with small amount of multipath) m will routing adapt to network traffic demand? adaptive routing  static routing (mostly static; adjust in larger timescale) m … - Robustness - Optimality - Simplicity Routing Design Space: Internet

Backup Slides 59

60 Another Decomposition r SYSTEM(U): r USER f (U f ; p f ) r NETWORK(w f )

61 Decomposition Theorem r There exist vectors p, w and x such that 1. w f = p f x f for f  F 2. w f solves USER f (U f ; p f ) 3. x solves NETWORK(w) r The vector x then also solves SYSTEM(U).