Download presentation
Presentation is loading. Please wait.
Published byViolet Ryan Modified over 8 years ago
1
1 Network Transport Layer: Primal-Dual Resource Allocation; TCP in New Settings Y. Richard Yang http://zoo.cs.yale.edu/classes/cs433/ 4/6/2016
2
2 Outline Admin and recap Bandwidth allocation framework Network overview
3
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
4
Admin: Web Server Benchmarking (2016; Using Zoo Machines) 4
5
Admin: Web Server Benchmarking (Dedicated Machine; 2013) 5 - Apache: 4.925 Gbps - Fastest student server: 7.530 Gbps Apache (2013)
6
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
7
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
8 Recap: TCP/Reno and TCP/Vegas TCP/RenoTCP/Vegas Congestion signal Dynamics (x’) Equilibrium loss rate p queueying delay T queueing
9
9 Recap: Interpreting Congestion Measure x f (t) q l (t) q 2 (t) TCP/Reno: TCP/Vegas:
10
Recap: Network-Wide Resource Allocation Examples ObjectiveAllocation (x1, x2, x3) TCP/Reno0.260.74 TCP/Vegas1/32/3 Max Throughput011 Max-min½½½ Max sum log(x)1/32/3 Max sum of -1/(RTT 2 x)0.260.74 10 x1x1 x2x2 x3x3 C= 1
11
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
12 Recap: Nash Bargain Solution (NBS) r R T s x1x1 x2x2
13
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
14
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
15 Problem x1x1 x2x2 x3x3 1 1 Typical setting: max f(x) s.t. x in S
16
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
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
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
19 Dual of the Primal x1x1 x2x2 x3x3 1 1
20
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
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
22 Distributed Optimization: User Problem At equilibrium (i.e., at optimal), x f satisfies: How should flow f adjust x f locally?
23
23 Interpreting Congestion Measure x f (t) q l (t) q 2 (t)
24
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
25 Distributed Optimization: Network Problem how should link l adjust q l locally?
26
26 Decomposition r SYSTEM(U): r USER f : r NETWORK:
27
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
28 TCP/Reno Dynamics
29
29 TCP/Vegas Dynamics
30
30 Summary: TCP/Vegas and TCP/Reno r Pricing signal is queueing delay T queueing r Pricing signal is loss rate p
31
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 http://www.statslab.cam.ac.uk/~frank/pf/
32
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
33
Motivation TCP/Reno growth function Time cwnd CA TD ssthresh TD WmWm CA Grows linearly throughout. Motivation: Is there a faster way?
34
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
35
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
36
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
37
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
38
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
39
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
40
TCP BIC in Action
41
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: http://www.land.ufrj.br/~classes/coppe-redes-2007/projeto/BIC-TCP-infocom-04.pdf
42
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
43
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
44
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
45
TCP CUBIC Drawbacks Slow Convergence - Flows with higher cwnd are more aggressive initially => Prolonged unfairness between flows - More details: http://www4.ncsu.edu/~rhee/export/bitcp/c ubic-paper.pdf
46
Summary Many aspects of TCP can be studied, for example TCP under wireless (LTE) http://conferences.sigcomm.org/sigcomm/2013/papers/sigcomm/p363.pdf
47
47 Outline Admin and recap Network resource allocation framework Network overview
48
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
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
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
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
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 2 2 1 3 1 1 2 5 3 5
53
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
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
55 User Optimal, Multipath, Adaptive r User optimal: users pick the shortest routes (selfish routing) Braess’s paradox
56
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
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
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
59
Backup Slides 59
60
60 Another Decomposition r SYSTEM(U): r USER f (U f ; p f ) r NETWORK(w f )
61
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).
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.