Farsighted Congestion Controllers Milan Vojnović Microsoft Research Cambridge, United Kingdom Collaborators: Dinan Gunawardena (MSRC), Peter Key (MSRC), Shao Liu (UIUC), Laurent Massoulié (MSRC) MIT, 09 Nov 05
2 Problem Applications concerned with long-run throughput Indifferent to short-timescale throughput Ex. peer-to-peer file sharing Goal: Optimize long-run throughput Share bandwidth fairly with TCP Data transfer Web Internet
3 Solution Number of connections Farsighted TCP TCP Rate (Mb/s) Internet Time
4 Solution: farsighted controller w w + 1/w w max(w – 1/(w w 0 ) + ack - ack -m Window Time high congestion Two-timescale control = parameter learned on-line at slow timescale w0w0
5 Compare with TCP Window Time w w + 1/w w w – ½ w + ack - ack high congestion
6 Roadmap Optimality Properties Rate adaptation Protocol & verification Conclusion
7 Setup Network state fluctuates over a set of phases U Ex. single link phase = number of competing flows (u) = fraction of time phase is u C l,u (x) = cost of link l with arrival rate x Network
8 Setup (cont’d) V r (x) = utility for rate x = (x(u), u U) User r TCP-like Long-run throughput optimizer
9 Problem maximize over SYSTEM: optimal if it solves SYSTEM
10 TCP-like only maximize over Separation into independent problems Traditional controllers are “myopic” Optimize rates “independently over time” SYSTEM u:
11 With long-run throughput optimizers maximize over No separation Long-run throughput optimizers = “farsighted” SYSTEM:
12 Formally: multi-path problem phase 1 phase 2phase 3phase N... r x r (1) x r (2) x r (3) x r (N) Studied by Gibbens & Kelly 02 But our setup in phase space Path is not spatial path present at all times “Paths come and leave over time” Time (not space) diversity
13 Roadmap Optimality Properties Rate adaptation Protocol & verification Conclusion
14 Price equalization Farsighted user r p r (u) = price when phase is u (price = loss event rate) “good phase” “bad phase” “reference price”
15 Special: single link farsighted myopic 1 u Phase u = u competing myopic flows x F (u) x M (u) capacity = 1
16 Farsighted users are conservative A flow said r to be conservative iff = average user- perceived price Seen as throughput maximizers under a “TCP-friendly” constraint “TCP-friendly” If TCP loss throughput (C) Farsighted user: “=“ in (C)
17 Throughput comparison Consider a farsighted user F and a myopic user M Both with same utility functions Both competing for same set of links Result
18 Diminishing returns with switching to farsighted n flows k farsighted, n-k myopic flows use same routes = throughput of farsighted flow for given k Result
19 Can be made “low-priority” One link characterized by increasing, convex function Strictly concave utility functions f farsighted flows (0) = fraction of time no myopic flow on the link Result “low-priority” iff
20 File transfer time Short-lived flows: Poisson arrivals Exponential file sizes short lived long lived myopic S1: short lived long lived farsighted S2: Result T i = mean file transfer time in S i
21 Roadmap Optimality Properties Rate adaptation Protocol & verification Conclusion
22 Traditional myopic q l = price at link l Fast time scale (RTT) TCP: 0 or 1 1 with rate const
23 Farsighted Fast timescale (RTT) Slow timescale a r small
24 Roadmap Optimality Properties Rate adaptation Protocol & verification Conclusion
25 Back to the solution w w + 1/w w w – 1/(w + ack - ack -m Window Time high congestion Two-timescale control = parameter learned on-line at slow timescale
26 Sensing phase vcwnd vcwnd + 1/w 0 vcwnd vcwnd – 1/(w 0 + ack - ack -m Time w0w0 Sequential hypothesis testing: p In fact, optimal for Poi(pw 0 ) losses (CUSUM) Know how to set m so false positives are rare and control is responsive (reflected random walk)
27 “Reference price”: initial guess Want be almost constant Solution: small gain for adaptation But need to converge to equilibrium Solution: Initial guess = current loss rate gain number of iterates g_min g_max n0n1 loss rate g_max = g_min =
28 Verification by simulation Scenario 1: 1 period has 9 phases u = (2,3,4,5,6,5,4,3,2) RED, 6 Mb/sLong-lived farsighted Long-lived TCP Phase duration = 800 sec
29 Send rate Time (sec) Send rate (Mb/s) FAR TCP
30 Loss rate Time (sec) FAR TCP Reference loss rate
31 Per phase rate averages PhaseFAR (Mbps)TCP (Mbps) 24.38/ / / / / / / / / /1.11 Avg rate 1.61/ /1.53 Phase FAR theory FAR simulation TCP simulations TCP theory Total Avg Average send rate (Mb/s)
32 Scenario 2 Time (sec) Number of Flows Send Rate (b/s) Average send rate (Mb/s) Time (sec) Phase FAR theory FAR simulation TCP simulations TCP theory Total Avg
33 File transfer time RED, 6 Mb/s TCP RED, 6 Mb/s FAR TCP F n ~ Exp( ) TnTn = Poi( ) S1: S2: = 0.1 1/ = 10 MB S1S2 Avg Flow Number Avg file transfer time (sec) Avg link bandwidth (Mb/s) Per connection avg rate (Mb/s)TCP = TCP = FAR = TCP =
34 Benefits to other flows? Ex. same as earlier slide But 10 long-lived flows: either all TCP or all FAR = / = 20 MB 10 FAR10 TCP Avg Flow Number Avg Transfer Time (sec)349470
35 More realistic traffic Synthetic web (UNC, Jeffay+) Requests, responses, idle times drawn from empirical distributions S1: 1 persistent TCP S2: 1 persistent FAR Both S1 & S2: number of web users = 1 TCP: File transfer time (sec) FAR: File transfer time (sec)
36 Conclusion Farsighted Congestion Control Solution for long-run throughput optimization Decentralized control No special feedback required (standard TCP sender modif) Not a heuristic hack Microeconomics rationale Benefits to other flows On-going: Further simulations Experimental implementation in MS Vista Real-word experiments
37 More farsighted.htm & Thanks!