1 / 39

Oscillations with TCP-like Flow Control in Networks of Queues

Oscillations with TCP-like Flow Control in Networks of Queues. Matthew Andrews, Bell Labs Alex Slivkins, Cornell. Network Utility Maximization. Wireline networks max  i U i (x i ) subject to .  Q i x i  c Q x i = inj rate into path i

kin
Télécharger la présentation

Oscillations with TCP-like Flow Control in Networks of Queues

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. Oscillations with TCP-like Flow Control in Networks of Queues Matthew Andrews, Bell Labs Alex Slivkins, Cornell

  2. Network Utility Maximization • Wireline networks max i Ui(xi) subject to . Q i xi  cQ • xi = inj rate into path i • cQ = capacity of server Q • Ui(.) = utility function (e.g. log) • Kelly-Maulloo-Tan, Low-Lapsley, Low-Peterson-Wang… • “TCP is a primal dual algorithm for solving this problem” S2 S3 S1 t1 server A server B t2 t3

  3. Example • Kelly, Maulloo, Tan • xi (t) = injection rate into flow i at time t • pQ = price for congestion at router Q

  4. Network Utility Maximization • Wireless networks max i Ui(xi) subject to . ( …, xi , … ) C • C = system capacity region (convex) • Depends on power assignments, interference etc. • Chiang • Joint power control and congestion control for solving problem

  5. Convergence vs oscillations Inj rate x2 Inj rate x3 S2 S3 Inj rate x1 Server B S1 t1 Server A Cong at server A = x1 + x2 t2 t3 • Prior work: • Congestion of server Q = F(injection rates of flows that use Q) • For example, congestion is signaled before queues buildup (e.g. via ECN) • Arrival rate of flow at server = flow injection rate • Allows for convergence results

  6. Convergence vs oscillations S2 S1 S3 t2 t3 • This talk • Suppose congestion causes queue buildups • Flow arrival rate at server not necessarily equal to flow injection rate • Do convergence results still hold? t1

  7. t1 t2 t3 Sending rates vs arrival rates inji(t) • due to queues that are upstream,in general arrival rates arr1(t), arr2(t), arr3(t)are different from sending rates inj1(t), inj2(t), inj3(t) • Suppose we use the true arrival rates • i.e. cong =arr1(t) + arr2(t) + arr3(t) S1 S2 S3 arri(t) server

  8. Convergence vs oscillations • Result: for any TCP-like congestion control mechanism,there exists a network of (wireline) servers and a set of flows such that starting from a certain initial state, system oscillates in a suboptimal state at all times, for each server, the total sending rate of all flows that use this server is less than its capacity

  9. S2 S3 S1 t1 router router t2 t3 Convergence vs oscillations • Prior work: for a version of TCP, system converges to a social optimumstarting from any initial state • [Kelly, Maulloo, Tan ’98] + follow-ups • approximation of FIFO dynamics • Our contribution: for any TCP-like congestion control mechanism,there exists a network of routers and a set of sessions such thatstarting from a certain initial state, system oscillates at all times, for each router, the total sending rate of all sessions that use this router is less than its capacity

  10. ?? • no congestion: all queues are empty S S t t • congestion: at least one queue is non-empty Parameterized congestion control • sender detects congestion using feedback from receiver • yes decrease sending rate; noincrease sending rate

  11. Parameterized congestion control • sender detects congestion using feedback from receiver • yes decrease sending rate; noincrease sending rate • discrete-time TCP: additive increase, multiplicative decrease • yes decrease rate by half; noincrease rate by 1 • we use a continuous-time approximation • yes congestion  sending rate f(t) = f(0)  et • nocongestion  sending rate g(t) = g(0)+ t •  is the damping parameter that controls the rate of change • generalization: (almost) any flow increase function g(t), any f(t) that satisfies some axioms, e.g. f(t) = f(0)  t

  12. we are extending our construction to the all-FIFO case Main result Theorem For any given congestion control {f(t), g(t)} there exists: • damping parameter (same  for all sessions) • a network of routers, a set of sessions, and an initial state such that system oscillates and for each router, the total sending rate of all sessions that use this router is always less than its capacity Note routers are almost FIFO: • each session is in one of the two priority classes • FIFO scheduling for sessions within the same class

  13. start Q1 Q1 Q1 Q2 Q2 Q2 Q3 Q3 Q3 Q4 Q4 Q4 S S S t t t 1 finish 1 The basic gadget: high-level idea capacity 1 <1 <1 1

  14. init rate  S’ capacity 1 <1 <1 1 init rate 0 1 t’ The basic gadget: animation Q1 Q2 Q3 Q4 S t

  15. capacity 1 <1 <1 1 Q1 Q2 Q3 Q4 S t The basic gadget: animation init rate  S’ rate = 0 t’

  16. capacity 1 <1 <1 1 Q1 Q2 Q3 Q4 S t rate The basic gadget: animation S’ rate = 0 t’

  17. capacity 1 <1 <1 1 Q1 Q2 Q3 Q4 S t The basic gadget: animation rate = 0 S’ rate = 0 1 t’

  18. rate capacity 1 <1 <1 1 Q1 Q2 Q3 Q4 S t The basic gadget: animation S’ rate = 0 t’

  19. before 1 1 2 2 3 3 4 4 • after 1 2 3 1 2 3 4 Connect two gadgets identify Q4 from one gadget with Q1 from another

  20. 1 2 3 1 2 3 1 2 3 1 2 3 Row of gadgets rate 0 rate e rate e rate e S1 t1

  21. 1 2 3 1 2 3 1 2 3 1 2 3 Row of gadgets rate e rate 0 rate e rate e S1 t1

  22. 1 2 3 1 2 3 1 2 3 1 2 3 Row of gadgets rate e rate e rate 0 rate e S1 t1

  23. 1 2 3 1 2 3 1 2 3 1 2 3 Row of gadgets rate e rate e rate e rate 0 S1 t1 fluid eventually reaches its destination, and the process stopsnot too exciting!

  24. rate 0 rate 0 rate 0 rate e rate e rate e rate 0 1 2 3 1 2 3 1 2 3 1 2 3 Row of gadgets S1 t1 a better process

  25. rate 0 rate 0 rate 0 rate e rate e rate e rate 0 1 2 3 1 2 3 1 2 3 1 2 3 refill Row of gadgets and now a refill happens S1 t1 a better process

  26. refill 1 2 3 1 2 3 1 2 3 1 2 3 Row of gadgets ... and so on S1 t1 a better process

  27. S1 t1 1 1 1 2 2 2 3 3 3 1 1 1 2 2 2 3 3 3 1 1 1 2 2 2 3 3 3 1 1 1 2 2 2 3 3 3 S2 t2 S3 t3 Rows of gadgets each row is running the same process, shifted in time

  28. refill S1 t1 1 1 1 2 2 2 3 3 3 1 1 1 2 2 2 3 3 3 1 1 1 2 2 2 3 3 3 1 1 1 2 2 2 3 3 3 refill S2 t2 refill S3 t3 Rows of gadgets now a refill happens each row is running the same process, shifted in time

  29. refill S1 t1 1 1 1 2 2 2 3 3 3 1 1 1 2 2 2 3 3 3 1 1 1 2 2 2 3 3 3 1 1 1 2 2 2 3 3 3 S2 t2 S3 t3 Rows of gadgets ... and so on Wait a sec... how do the refills happen ???

  30. S1 t1 1 1 1 1 2 2 2 2 3 3 3 3 1 1 1 1 2 2 2 2 3 3 3 3 1 1 1 1 2 2 2 2 3 3 3 3 1 1 1 1 2 2 2 2 3 3 3 3 S2 t2 S3 t3 S4 t4 Refills and vertical sessions rate >0

  31. S1 t1 1 1 1 1 2 2 2 2 3 3 3 3 1 1 1 1 2 2 2 2 3 3 3 3 1 1 1 1 2 2 2 2 3 3 3 3 1 1 1 1 2 2 2 2 3 3 3 3 S2 t2 S3 t3 S4 t4 Refills and vertical sessions rate >0

  32. S1 t1 1 1 1 1 2 2 2 2 3 3 3 3 1 1 1 1 2 2 2 2 3 3 3 3 1 1 1 1 2 2 2 2 3 3 3 3 1 1 1 1 2 2 2 2 3 3 3 3 S2 t2 S3 t3 S4 t4 Refills and vertical sessions rate >0

  33. S1 t1 1 1 1 1 2 2 2 2 3 3 3 3 1 1 1 1 2 2 2 2 3 3 3 3 1 1 1 1 2 2 2 2 3 3 3 3 1 1 1 1 2 2 2 2 3 3 3 3 S2 t2 S3 t3 rate S4 t4 Refills and vertical sessions

  34. S1 t1 1 1 1 1 2 2 2 2 3 3 3 3 1 1 1 1 2 2 2 2 3 3 3 3 1 1 1 1 2 2 2 2 3 3 3 3 1 1 1 1 2 2 2 2 3 3 3 3 S2 t2 S3 t3 S4 t4 Refills and vertical sessions refilled !!! rate = 0

  35. Joint scheduling + cong control xi xj • Solution: do joint scheduling and congestion control. • Problem definition • Model queues explicitly • When data served by one server, passes to next server on flow route • Design scheduling + cong control max i Ui(xi) subject to . All queues are stable

  36. Joint scheduling + cong control xi xj • Greedy Primal Dual Algorithm (Stolyar) • Simple version • Flow Routes are given • Set of routes to destination d form rooted tree • At most 1 pckt into each flow per time step • Per destination queues • Qv,d = amount of dest d data at node v • nv,d = next hop for Qv,d data • rv,w(t) = data rate between nodes v,w

  37. Joint scheduling + cong control xi xj • Greedy Primal Dual Algorithm • Scheduling • Node v serves data from queue that maximizes (Qv,d – Qnv,d,d) rv,nv,d(t) • Congestion control • Flow i injects a packet whenever U’(xi(t)) – b.Qibegin > 0 b = small parameter Qibegin = first queue on path of flow i

  38. Joint scheduling + cong control xi xj • Greedy Primal Dual Algorithm • Solves the utility maximization problem max i Ui(xi) subject to . All queues are stable • Works for wireless networks • Joint scheduling and cong control • Collaboration via queues sizes • Do not get excessive queue buildup • Scheduling creates “backpressure”

  39. Conclusions and open questions End-to-end congestion control can cause oscillations when interacting with network of queues running simple scheduling policies • solution: tighter integration of scheduling and congestion control,e.g. Greedy Primal-Dual algorithm of Sasha Stolyar Related work due to Eryilmaz-Srikant and Neely-Modiano-Li Our example is paranoid, but we need to replicate initial state exactly • our result suggests that in practice convergence can be hard, too Open questions: • extension to the all-FIFO case • non-FIFO schedulers, e.g. Generalized Processor Sharing

More Related