Presentation is loading. Please wait.

Presentation is loading. Please wait.

September 27, 20051 Instabilities and Oscillations in Networks of Queues Matthew Andrews Bell Labs Joint work with Alex Slivkins (Cornell)

Similar presentations


Presentation on theme: "September 27, 20051 Instabilities and Oscillations in Networks of Queues Matthew Andrews Bell Labs Joint work with Alex Slivkins (Cornell)"— Presentation transcript:

1 September 27, 20051 Instabilities and Oscillations in Networks of Queues Matthew Andrews Bell Labs Joint work with Alex Slivkins (Cornell)

2 2 Network of routers and sessions session: sender  fixed flow path  receiver router: intersection inside the network S1 router A S2 t2 router B S3 t3 t1

3 3 Queueing Model Model router as simple queue Each queue has a capacity = service rate if total arrival rate  capacity then all traffic is routed without congestion or queuing else, congestion occurs: queue builds up, traffic is delayed S1S2S3 t1t2t3

4 4 S1 router A S2 t2 router B S3 t3 t1 modeled as S1 S2 t2 S3 t3 t1 Network of Queues

5 5 FIFO Queue FIFO queue serves packets in order received We consider idealized model in which packet size  0 Study rate at which data arrives at/departs from queue S1S2S3t1t2t3

6 6 Fluid-based FIFO queue session = continuous flow, not a discrete stream of packets what is a fluid-based FIFO queue? [Bramson] h(t) = height of the queue at time t = [total amount of fluid] / [capacity C] given arrival rates in 1 (t), in 2 (t), in 3 (t) what is h(t) and what are exit rates out i (t)? S1S2S3 t1t2t3 h C if h(t) = 0 and  j in j (t)  C then all flow just comes through: out i (t) = in i (t) else, capacity is divided proportionally, and the excessive fluid is queued up out i (t+h(t)) = in i (t)  C /  j in j (t)

7 7 Part 1: Traffic generated by external arrival process Study “queueing theoretic stability” Can we keep the queue sizes bounded? Result: FIFO can be unstable at arbitrarily small network loads Part 2: Traffic controlled by end-to-end congestion control (e.g. TCP) Study “control theoretic stability” Does the system oscillate? Result: end-to-end congestion control can cause oscillations Talk Outline

8 8 Network of FIFO queues, external traffic arrivals Definitions Stable: queuesizes remain bounded Unstable: queuesizes are unbounded We would like queues to be stable as long as no queue is overloaded Part 1: FIFO stability Total queuesize Total queuesize Time Stable Unstable ??

9 9 Each session i has rate  i Injection rate into session i equals  i at all times Sum of session rates passing through capacity C queue  rC r = network load parameter Interesting case is r  1 Permanent sessions: Constant arrivals S1 S2 t2 S3 t3 t1 0.45 r = 0.9 Thm: (Bramson ‘96) FIFO stable for all r  1 Thm: (Bramson ‘96) FIFO stable for all r  1

10 10 Each session i has rate  i Injection rate into session i at most  i at all times Sum of session rates passing through capacity C queue  rC Standard model in networking literature, e.g. Fair Queueing literature (e.g. Parekh-Gallager), Network calculus (e.g. Cruz, Le Boudec-Thiran book) Permanent sessions: Bounded arrivals S1 S2 t2 S3 t3 t1 0.45 r = 0.9

11 11 Permanent sessions: Bounded arrivals S1 S2 t2 S3 t3 t1 0.2 0.45 0.1 r = 0.9 Each session i has rate  i Injection rate into session i at most  i at all times Sum of session rates passing through capacity C queue  rC Standard model in networking literature, e.g. Fair Queueing literature (e.g. Parekh-Gallager), Network calculus (e.g. Cruz, Le Boudec-Thiran book)

12 12 Permanent sessions: Bounded arrivals S1 S2 t2 S3 t3 t1 0.45 0.3 0.45 r = 0.9 Thm: (‘00) FIFO can be unstable for r > 0.999999997 Thm: (‘00) FIFO can be unstable for r > 0.999999997 Each session i has rate  i Injection rate into session i at most  i at all times Sum of session rates passing through capacity C queue  rC Standard model in networking literature, e.g. Fair Queueing literature (e.g. Parekh-Gallager), Network calculus (e.g. Cruz, Le Boudec-Thiran book)

13 13 Main Result What happens at small network loads? Is there some network load below which FIFO is stable? No!!!! Thm: For all  > 0, there exists network and injection pattern s.t. Network load is r <  The network is unstable

14 14 Transfer Process How can we move fluid from one FIFO queue to another? Injection rate  Existing fluid of height 1

15 15 Transfer Process How can we move fluid from one FIFO queue to another? Injection rate  Total arrival rate 1 +  Departure rate  / 1 +  Departure rate  / 1 +  Arrival rate  / 1 +  Departure rate 1

16 16 Transfer Process How can we move fluid from one FIFO queue to another? Injection rate  Total arrival rate 1 +  Departure rate  / 1 +  Departure rate  / 1 +  Arrival rate  / 1 +  Departure rate 1

17 17 Transfer Process How can we move fluid from one FIFO queue to another? Injection rate  Total arrival rate 1 +  Departure rate  / 1 +  Departure rate  / 1 +  Arrival rate  / 1 +  Departure rate 1

18 18 Transfer Process How can we move fluid from one FIFO queue to another? Injection rate 

19 19 Transfer Process How can we move fluid from one FIFO queue to another? Injection rate 

20 20 Transfer Process How can we move fluid from one FIFO queue to another? Injection rate 

21 21 Transfer Process How can we move fluid from one FIFO queue to another? Injection rate 

22 22 Can repeat transfer process indefinitely Repeated Transfer Process

23 23 Can repeat transfer process indefinitely Repeated Transfer Process

24 24 Can repeat transfer process indefinitely Repeated Transfer Process

25 25 Repeated Transfer Process Can repeat transfer process indefinitely Two problems: Want amount of fluid to grow! Sessions are of finite length: some fluid eventually departs

26 26 Transfer Process Revisited Replace departing fluid Injection rate  Injection rate  Departure rate < 

27 27 Injection rate  Replace departing fluid Transfer Process Revisited Injection rate  Departure rate < 

28 28 Injection rate  Replace departing fluid Transfer Process Revisited Injection rate  Departure rate < 

29 29 Injection rate  Replace departing fluid Transfer Process Revisited Injection rate  Departure rate <  Works but network load r >> 1

30 30 Parallel Transfers Injection rate  Departure rate ~  Arrival rate ~  1 23 4 Transfer process between queues 1 & 3 Transfer process between queues 2 & 4 Newly injected traffic passes through queues 1&2 Queues 1&2 are decreasing: hence rate amplification!!!

31 31 Parallel Transfers Injection rate  Departure rate ~  Arrival rate ~  1 23 4 For a sufficiently large number of parallel transfers Can make arriving traffic have higher rate than departing traffic Instability!!!

32 32 Part 1 of talk: External arrival process Injection patterns could be independent of queueing behavior Part 2 of talk: Injection patterns governed by congestion control (e.g. TCP) Does TCP converge? Can it oscillate? S router Arouter B t Part 2: Stability of congestion control

33 33 sender does not know in advance how much bandwidth will be available at a given time, needs to adjust dynamically goal: use available bandwidth, but avoid congestion if all routers on session path have some bandwidth available, source should increase the sending rate if one of the routers on session path is congested, source should decrease the sending rate S router Arouter B t End-to-end congestion control rate ?

34 34 End-to-end congestion control design principle: routers do not give feedback to senders sender does not know what goes on inside the Internet however, sender can get limited feedback from the receiver can determine whether congestion occurred on the path TCP protocol: additive increase, multiplicative decrease no congestion  increase sending rate by 1 congestion  decrease sending rate by half S router Arouter B t rate ?

35 35 Network as dynamical system system = {network of routers and fixed set of sessions} state = {sending rates of sessions, composition of queues} dynamics: TCP-like congestion control, FIFO queues choose initial state and let the system run we’d like the system to converge, preferably to some nice state S1 router S2 t2 router S3 t3 t1

36 36 Convergence vs oscillations Prior work: for a version of TCP, system converges to a social optimum starting from any initial state [Kelly, Maulloo, Tan ’98],[Low et al.] and a large body of follow-up work S1 router S2 t2 router S3 t3 t1 However, this work uses an approximation of FIFO dynamics: congestion of a queue Q = F(sending rates of sessions that use Q) in reality it is a function of arrival rates, which may be different we model congestion as a function of arrival rates

37 37 Kelly, Maulloo, Tan Example prior work x i (t) = injection rate into flow i at time t p Q = “shadow price” for congestion at router Q

38 38 Convergence vs oscillations Prior work: for a version of TCP, system converges to a social optimum starting from any initial state [Kelly, Maulloo, Tan ’98] + follow-ups approximation of FIFO dynamics S1 router S2 t2 router S3 t3 t1 Our contribution: for any TCP-like congestion control mechanism, there exists a network of routers and a set of sessions such that starting 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

39 39 Fluid-based FIFO queue session = continuous flow, not a discrete stream of packets h(t) = height of the queue at time t = [total amount of fluid] / [capacity C] given arrival rates in 1 (t), in 2 (t), in 3 (t) what is h(t) and what are exit rates? FIFO queue S1S2S3 t1t2t3 h C if h(t) = 0 and  j in j (t)  C then all flow just comes through else, capacity is divided proportionally, and the excessive fluid is queued up

40 40 Sending rates vs arrival rates due to queues that are upstream, in general arrival rates in 1 (t), in 2 (t), in 3 (t) are different from sending rates all convergence results from prior work use sending rates instead of arrival rates we use the true arrival rates FIFO queue S1S3 t1t2t3 h C S2 in i (t)

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

42 42 Parameterized congestion control 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 no congestion  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 sender detects congestion using feedback from receiver yes  decrease sending rate; no  increase sending rate

43 43 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 we are extending our construction to the all-FIFO case

44 44 The basic gadget: high-level idea Q1Q4Q2Q3 St Q1Q4Q2Q3 St finish 1 1capacity1<1 Q1Q4Q2Q3 St 1 start

45 45 The basic gadget: animation Q1Q4Q2Q3 St 1capacity1<1 S’ t’ init rate 0 init rate  1

46 46 Q1Q4Q2Q3 St 1capacity1<1 The basic gadget: animation S’ t’ rate = 0 init rate 

47 47 Q1Q4Q2Q3 St 1capacity1<1 The basic gadget: animation S’ t’ rate = 0 rate

48 48 Q1Q4Q2Q3 St 1capacity1<1 The basic gadget: animation S’ t’ rate = 0 1

49 49 Q1Q4Q2Q3 St 1capacity1<1 The basic gadget: animation S’ t’ rate = 0 rate

50 50 Connect two gadgets identify Q4 from one gadget with Q1 from another 1423 1423 before after 1231423

51 51 Row of gadgets 123123123123 S1t1 fluid eventually reaches its destination, and the process stops not too exciting!

52 52 Row of gadgets 123123123123 S1t1 a better process

53 53 Row of gadgets 123123123123 S1t1 refil l a better process and now a refill happens

54 54 Row of gadgets 123123123123 S1t1 refil l a better process... and so on

55 55 Rows of gadgets 123123123123 123123123123 123123123123 S1 S2 S3 t1 t2 t3 each row is running the same process, shifted in time

56 56 Rows of gadgets 123123123123 123123123123 123123123123 S1 S2 S3 t1 t2 t3 refil l each row is running the same process, shifted in time now a refill happens

57 57 Rows of gadgets 123123123123 123123123123 123123123123 S1 S2 S3 t1 t2 t3 refil l... and so on Wait a sec... how do the refills happen ???

58 58 Refills and vertical sessions 123123123123 123123123123 123123123123 S1 S2 S3 t1 t2 t3 123123123123 S4t4 rate  >0

59 59 Refills and vertical sessions 123123123123 123123123123 123123123123 S1 S2 S3 t1 t2 t3 123123123123 S4t4 rate  >0

60 60 Refills and vertical sessions 123123123123 123123123123 123123123123 S1 S2 S3 t1 t2 t3 123123123123 S4t4 rate  >0

61 61 Refills and vertical sessions 123123123123 123123123123 123123123123 S1 S2 S3 t1 t2 t3 123123123123 S4t4 rate

62 62 Refills and vertical sessions 123123123123 123123123123 123123123123 S1 S2 S3 t1 t2 t3 123123123123 S4t4 rate = 0 refilled !!!

63 63 Conclusions and open questions End-to-end congestion control can cause oscillations prior work proved convergence but queueing dynamics not fully captured with true queueing dynamics convergence is desirable but impossible Our example is paranoid, but we need to replicate initial state exactly our result suggests that in practice convergence can be hard, too possible solution: integrate congestion control into routers, e.g. Greedy Primal-Dual algorithm of Sasha Stolyar Open questions: extension to the all-FIFO case non-FIFO schedulers, e.g. Generalized Processor Sharing


Download ppt "September 27, 20051 Instabilities and Oscillations in Networks of Queues Matthew Andrews Bell Labs Joint work with Alex Slivkins (Cornell)"

Similar presentations


Ads by Google