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

Slides:



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

Traffic Control and the Problem of Congestion within the Internet By Liz Brown and Nadine Sur.
24-1 Chapter 24. Congestion Control and Quality of Service (part 1) 23.1 Data Traffic 23.2 Congestion 23.3 Congestion Control 23.4 Two Examples.
Playback-buffer Equalization For Streaming Media Using Stateless Transport Prioritization By Wai-tian Tan, Weidong Cui and John G. Apostolopoulos Presented.
Courtesy: Nick McKeown, Stanford 1 Intro to Quality of Service Tahir Azim.
1 TCP Congestion Control. 2 TCP Segment Structure source port # dest port # 32 bits application data (variable length) sequence number acknowledgement.
Congestion Control Created by M Bateman, A Ruddle & C Allison As part of the TCP View project.
Short-Term Fairness and Long- Term QoS Lei Ying ECE dept, Iowa State University, Joint work with Bo Tan, UIUC and R. Srikant, UIUC.
EE 685 presentation Optimal Control of Wireless Networks with Finite Buffers By Long Bao Le, Eytan Modiano and Ness B. Shroff.
CS 408 Computer Networks Congestion Control (from Chapter 05)
Congestion Control An Overview -Jyothi Guntaka. Congestion  What is congestion ?  The aggregate demand for network resources exceeds the available capacity.
Congestion control principles Presentation by: Farhad Rad (Advanced computer Networks Lesson in
TCP Stability and Resource Allocation: Part II. Issues with TCP Round-trip bias Instability under large bandwidth-delay product Transient performance.
On Modeling Feedback Congestion Control Mechanism of TCP using Fluid Flow Approximation and Queuing Theory  Hisamatu Hiroyuki Department of Infomatics.
Network Congestion Gabriel Nell UC Berkeley. Outline Background: what is congestion? Congestion control – End-to-end – Router-based Economic insights.
Dynamic Internet Congestion with Bursts Stefan Schmid Roger Wattenhofer Distributed Computing Group, ETH Zurich 13th International Conference On High Performance.
Worst-case Fair Weighted Fair Queueing (WF²Q) by Jon C.R. Bennett & Hui Zhang Presented by Vitali Greenberg.
Volcano Routing Scheme Routing in a Highly Dynamic Environment Yashar Ganjali Stanford University Joint work with: Nick McKeown SECON 2005, Santa Clara,
Algorithm Orals Algorithm Qualifying Examination Orals Achieving 100% Throughput in IQ/CIOQ Switches using Maximum Size and Maximal Matching Algorithms.
Comparing flow-oblivious and flow-aware adaptive routing Sara Oueslati and Jim Roberts France Telecom R&D CISS 2006 Princeton March 2006.
Charge-Sensitive TCP and Rate Control Richard J. La Department of EECS UC Berkeley November 22, 1999.
Bandwidth sharing: objectives and algorithms Jim Roberts France Télécom - CNET Laurent Massoulié Microsoft Research.
TCP Stability and Resource Allocation: Part I. References The Mathematics of Internet Congestion Control, Birkhauser, The web pages of –Kelly, Vinnicombe,
Network Bandwidth Allocation (and Stability) In Three Acts.
CISS Princeton, March Optimization via Communication Networks Matthew Andrews Alcatel-Lucent Bell Labs.
Lecture 11. Matching A set of edges which do not share a vertex is a matching. Application: Wireless Networks may consist of nodes with single radios,
Little’s Theorem Examples Courtesy of: Dr. Abdul Waheed (previous instructor at COE)
Rethinking Internet Traffic Management: From Multiple Decompositions to a Practical Protocol Jiayue He Princeton University Joint work with Martin Suchara,
Random Early Detection Gateways for Congestion Avoidance
Combining Multipath Routing and Congestion Control for Robustness Peter Key.
TCP Congestion Control
March 24, Joint Optimization of Scheduling and Congestion Control in Communication Networks Matthew Andrews Bell Labs.
Multipath Protocol for Delay-Sensitive Traffic Jennifer Rexford Princeton University Joint work with Umar Javed, Martin Suchara, and Jiayue He
CIS679: Scheduling, Resource Configuration and Admission Control r Review of Last lecture r Scheduling r Resource configuration r Admission control.
CS540/TE630 Computer Network Architecture Spring 2009 Tu/Th 10:30am-Noon Sue Moon.
ACN: RED paper1 Random Early Detection Gateways for Congestion Avoidance Sally Floyd and Van Jacobson, IEEE Transactions on Networking, Vol.1, No. 4, (Aug.
FAIR CHARGES FOR INTERNET CONGESTION Damon Wischik Statistical Laboratory, Cambridge Electrical Engineering, Stanford
MaxNet NetLab Presentation Hailey Lam Outline MaxNet as an alternative to TCP Linux implementation of MaxNet Demonstration of fairness, quick.
Queuing Networks Jean-Yves Le Boudec 1. Contents 1.The Class of Multi-Class Product Form Networks 2.The Elements of a Product-Form Network 3.The Product-Form.
Queuing Networks Jean-Yves Le Boudec 1. Networks of Queues Stability Queuing networks are frequently used models The stability issue may, in general,
Congestion Control in CSMA-Based Networks with Inconsistent Channel State V. Gambiroza and E. Knightly Rice Networks Group
March 29 Scheduling ?. What is Packet Scheduling? Decide when and what packet to send on output link 1 2 Scheduler flow 1 flow 2 flow n Buffer management.
Michael Schapira Yale and UC Berkeley Joint work with P. Brighten Godfrey, Aviv Zohar and Scott Shenker.
June 4, 2003EE384Y1 Demand Based Rate Allocation Arpita Ghosh and James Mammen {arpitag, EE 384Y Project 4 th June, 2003.
Promoting the Use of End-to-End Congestion Control in the Internet Sally Floyd and Kevin Fall IEEE-ACAM Transactions on Networking, 馬儀蔓.
Deadline-based Resource Management for Information- Centric Networks Somaya Arianfar, Pasi Sarolahti, Jörg Ott Aalto University, Department of Communications.
Transport Layer3-1 Chapter 3 outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP r 3.4 Principles.
Jennifer Rexford Fall 2014 (TTh 3:00-4:20 in CS 105) COS 561: Advanced Computer Networks TCP.
T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 COMP/ELEC 429/556 Introduction to Computer Networks Weighted Fair Queuing Some slides used with.
Scalable Laws for Stable Network Congestion Control Fernando Paganini UCLA Electrical Engineering IPAM Workshop, March Collaborators: Steven Low,
1 11 Distributed Channel Assignment in Multi-Radio Mesh Networks Bong-Jun Ko, Vishal Misra, Jitendra Padhye and Dan Rubenstein Columbia University.
1 Fair Queuing Hamed Khanmirza Principles of Network University of Tehran.
XCP: eXplicit Control Protocol Dina Katabi MIT Lab for Computer Science
Queue Scheduling Disciplines
Achieving Stability in a Network of IQ Switches Neha Kumar Shubha U. Nabar.
Spring Computer Networks1 Congestion Control Sections 6.1 – 6.4 Outline Preliminaries Queuing Discipline Reacting to Congestion Avoiding Congestion.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Congestion Control 0.
Providing QoS in IP Networks
Transmission Control Protocol (TCP) TCP Flow Control and Congestion Control CS 60008: Internet Architecture and Protocols Department of CSE, IIT Kharagpur.
Chapter 10 Congestion Control in Data Networks and Internets 1 Chapter 10 Congestion Control in Data Networks and Internets.
04/02/08 1 Packet Scheduling IT610 Prof. A. Sahoo KReSIT.
Congestion Control in Data Networks and Internets
Topics discussed in this section:
Chapter 6 Queuing Disciplines
TCP Congestion Control
Rajat Bhattacharjee Ashish Goel Stanford University
Congestion Control, Internet transport protocols: udp
TCP, XCP and Fair Queueing
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.
Congestion Control, Quality of Service, & Internetworking
Presentation transcript:

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

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 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 S1 router A S2 t2 router B S3 t3 t1 modeled as S1 S2 t2 S3 t3 t1 Network of Queues

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 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 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 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 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 t r = 0.9 Thm: (Bramson ‘96) FIFO stable for all r  1 Thm: (Bramson ‘96) FIFO stable for all r  1

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 t r = 0.9

11 Permanent sessions: Bounded arrivals S1 S2 t2 S3 t3 t 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 Permanent sessions: Bounded arrivals S1 S2 t2 S3 t3 t r = 0.9 Thm: (‘00) FIFO can be unstable for r > Thm: (‘00) FIFO can be unstable for r > 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 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 Transfer Process How can we move fluid from one FIFO queue to another? Injection rate  Existing fluid of height 1

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 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 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 Transfer Process How can we move fluid from one FIFO queue to another? Injection rate 

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

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

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

22 Can repeat transfer process indefinitely Repeated Transfer Process

23 Can repeat transfer process indefinitely Repeated Transfer Process

24 Can repeat transfer process indefinitely Repeated Transfer Process

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 Transfer Process Revisited Replace departing fluid Injection rate  Injection rate  Departure rate < 

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

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

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

30 Parallel Transfers Injection rate  Departure rate ~  Arrival rate ~  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 Parallel Transfers Injection rate  Departure rate ~  Arrival rate ~  For a sufficiently large number of parallel transfers Can make arriving traffic have higher rate than departing traffic Instability!!!

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 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 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 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 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 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 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 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 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 ?? 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 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 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 The basic gadget: high-level idea Q1Q4Q2Q3 St Q1Q4Q2Q3 St finish 1 1capacity1<1 Q1Q4Q2Q3 St 1 start

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

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

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

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

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

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

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

52 Row of gadgets S1t1 a better process

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

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

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

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

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

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

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

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

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

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

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