Congestion Control. Phenomenon: when too much traffic enters into system, performance degrades excessive traffic can cause congestion

Similar documents
Congestion Control. Need to understand: What is congestion? How do we prevent or manage it?

These are special traffic patterns that create more stress on a switch

Min Congestion Control for High- Speed Heterogeneous Networks. JetMax: Scalable Max-Min

CS418 Operating Systems

requests/sec. The total channel load is requests/sec. Using slot as the time unit, the total channel load is 50 ( ) = 1

A Mathematical Model of the Skype VoIP Congestion Control Algorithm

Mining Data Streams. The Stream Model. The Stream Model Sliding Windows Counting 1 s

COMP9334: Capacity Planning of Computer Systems and Networks

cs/ee/ids 143 Communication Networks

Queueing Theory I Summary! Little s Law! Queueing System Notation! Stationary Analysis of Elementary Queueing Systems " M/M/1 " M/M/m " M/M/1/K "

Wireless Internet Exercises

NICTA Short Course. Network Analysis. Vijay Sivaraman. Day 1 Queueing Systems and Markov Chains. Network Analysis, 2008s2 1-1

Mining Data Streams. The Stream Model Sliding Windows Counting 1 s

CSE 123: Computer Networks

Before proceeding to bad news: connection between heavy-tailedness and google? saga of two lucky kids (aka grad students ) lesson to be drawn?

384Y Project June 5, Stability of Congestion Control Algorithms Using Control Theory with an application to XCP

Congestion Control In The Internet Part 1: Theory. JY Le Boudec 2018

PIQI-RCP: Design and Analysis of Rate-Based Explicit Congestion Control

Analysis of the Increase and Decrease. Congestion Avoidance in Computer Networks

Analysis of Rate-distortion Functions and Congestion Control in Scalable Internet Video Streaming

The Analysis of Microburst (Burstiness) on Virtual Switch

Modelling data networks stochastic processes and Markov chains

Dynamic resource sharing

Multimedia Communication Services Traffic Modeling and Streaming

Processor Sharing Flows in the Internet

Hybrid Control and Switched Systems. Lecture #1 Hybrid systems are everywhere: Examples

Scheduling I. Today. Next Time. ! Introduction to scheduling! Classical algorithms. ! Advanced topics on scheduling

Discrete Random Variables

Capacity management for packet-switched networks with heterogeneous sources. Linda de Jonge. Master Thesis July 29, 2009.

Multiaccess Communication

Lecture on Sensor Networks

Resource Allocation for Video Streaming in Wireless Environment

ATM VP-Based Ring Network Exclusive Video or Data Traffics

Performance Analysis of Priority Queueing Schemes in Internet Routers

CS276 Homework 1: ns-2

Singular perturbation analysis of an additive increase multiplicative decrease control algorithm under time-varying buffering delays.

WiFi MAC Models David Malone

Analytic Performance Evaluation of the RED Algorithm

Random Access Protocols ALOHA

Distributed Computing. Synchronization. Dr. Yingwu Zhu

Analysis of Software Artifacts

On Tandem Blocking Queues with a Common Retrial Queue

Lan Performance LAB Ethernet : CSMA/CD TOKEN RING: TOKEN

A Quantitative View: Delay, Throughput, Loss

Enhance & Explore: an Adaptive Algorithm to Maximize the Utility of Wireless Networks

Analysis of random-access MAC schemes

Operational Laws Raj Jain

Scheduling I. Today Introduction to scheduling Classical algorithms. Next Time Advanced topics on scheduling

Analysis of an M/G/1 queue with customer impatience and an adaptive arrival process

Internet Traffic Modeling and Its Implications to Network Performance and Control

An Optimal Index Policy for the Multi-Armed Bandit Problem with Re-Initializing Bandits

P e = 0.1. P e = 0.01

Controlo Switched Systems: Mixing Logic with Differential Equations. João P. Hespanha. University of California at Santa Barbara.

Analysis of Scalable TCP in the presence of Markovian Losses

Network Traffic Characteristic

CSE 380 Computer Operating Systems

MAT SYS 5120 (Winter 2012) Assignment 5 (not to be submitted) There are 4 questions.

One billion+ terminals in voice network alone

Quiz 1 EE 549 Wednesday, Feb. 27, 2008

Service differentiation without prioritization in IEEE WLANs

Measurements made for web data, media (IP Radio and TV, BBC Iplayer: Port 80 TCP) and VoIP (Skype: Port UDP) traffic.

Modelling data networks stochastic processes and Markov chains

Computer Networks ( Classroom Practice Booklet Solutions)

Methodology for Computer Science Research Lecture 4: Mathematical Modeling

Design of Real-Time Software

DIMENSIONING BANDWIDTH FOR ELASTIC TRAFFIC IN HIGH-SPEED DATA NETWORKS

EECS150 - Digital Design Lecture 23 - FFs revisited, FIFOs, ECCs, LSFRs. Cross-coupled NOR gates

Routing. Topics: 6.976/ESD.937 1

Worst-case delay control in multigroup overlay networks. Tu, Wanqing; Sreenan, Cormac J.; Jia, Weijia. Article (peer-reviewed)

Modeling and Stability of PERT

ESTIMATION OF THE BURST LENGTH IN OBS NETWORKS

Time Space Diagrams for Thirteen Shock Waves

IN THIS PAPER, we describe a design oriented modelling

Socket Programming. Daniel Zappala. CS 360 Internet Programming Brigham Young University

Appendix A Prototypes Models

Congestion Control. Topics

Window Size. Window Size. Window Size. Time. Time. Time

Mixed Stochastic and Event Flows

Queuing Networks: Burke s Theorem, Kleinrock s Approximation, and Jackson s Theorem. Wade Trappe

Bounded Delay for Weighted Round Robin with Burst Crediting

On Tandem Blocking Queues with a Common Retrial Queue

COMP9334 Capacity Planning for Computer Systems and Networks

Queuing Networks. - Outline of queuing networks. - Mean Value Analisys (MVA) for open and closed queuing networks

Rate adaptation, Congestion Control and Fairness: A Tutorial. JEAN-YVES LE BOUDEC Ecole Polytechnique Fédérale de Lausanne (EPFL)

Lecture 8: Wave-Particle Duality. Lecture 8, p 2

Theoretical Analysis of Performances of TCP/IP Congestion Control Algorithm with Different Distances

Deep Algebra Projects: Algebra 1 / Algebra 2 Go with the Flow

CS 798: Homework Assignment 3 (Queueing Theory)

DISTRIBUTED COMPUTER SYSTEMS

Tuning the TCP Timeout Mechanism in Wireless Networks to Maximize Throughput via Stochastic Stopping Time Methods

Reliable Data Transport: Sliding Windows

Real-Time Scheduling and Resource Management

Switched Systems: Mixing Logic with Differential Equations

of 8 28/11/ :25

Where we ve been, where we are, and where we are going next.

Performance Evaluation of Queuing Systems

Outline Network structure and objectives Routing Routing protocol protocol System analysis Results Conclusion Slide 2

End-to-end Estimation of the Available Bandwidth Variation Range

CHAPTER 3. CAPACITY OF SIGNALIZED INTERSECTIONS

Stochastic Hybrid Systems: Applications to Communication Networks

Transcription:

Congestion Control Phenomenon: when too much traffic enters into system, performance degrades excessive traffic can cause congestion Problem: regulate traffic influx such that congestion does not occur not too fast, not too slow congestion control first question: what is congestion?

Viewpoint: traffic coming in, in transit, going out traffic influx Network traffic outflux traffic in flight At time t: traffic influx: λ(t) offered load (bps) traffic outflux: γ(t) throughput (bps) traffic in-flight: Q(t) load volume: total packets in transit (no. of packets)

Examples: Highway system: traffic influx: no. of cars entering highway per second traffic outflux: no. of cars exiting highway per second traffic in-flight: no. of cars traveling on highway at time instance t California Dept. of Transportation (Caltrans)

Water faucet and sink: traffic influx: water influx per second traffic outflux: water outflux per second traffic in-flight: water level in sink congestion? faucet.com Thermostat...

82.11b WLAN: Throughput 5.5 5 node 2 node 5 node 1 node 2 node 3 node 5 node 1 MAC System Thoughput (Mb/s) 4.5 4 3.5 3 3.5 4 4.5 5 5.5 6 6.5 Offered Load (Mb/s) unimodal or bell-shaped recall: less pronounced in real systems

What we can control: traffic influx rate λ(t) no power over anything else Ex.: Faucet knob in water sink Temperature needle in thermostat Cars entering onto highway: traffic light Packets entering the Internet from web server, P2P server, PC, laptop/handheld

How does in-flight traffic or load Q(t) vary? obeys simple rule Compare two time instances t and t +1. At time t +1: Q(t +1)=Q(t)+λ(t) γ(t) Q(t): what was there to begin with λ(t): what newly arrived γ(t): what newly exited λ(t) γ(t): net influx (+ or ) Q(t) cannot be negative: no. of packets Q(t + 1) = max{,q(t)+λ(t) γ(t)} missing item?

Pseudo Real- Multimedia Streaming e.g., RealPlayer, itunes, Internet radio pseudo because of prefetching trick application is given headstart: few seconds fill buffer & prevent from becoming empty Steps involved: prefetch X seconds worth of audio/video data causes initial delayed playback e.g., couple of seconds delay after click keep fetching audio/video data such that X seconds worth of future data resides in receiver s buffer hides spurious congestion user: continuous playback experience

Pseudo real-time application architecture: Sender Receiver λ (t) Buffer γ Q * Q(t) Q(t): current buffer level Q : desired buffer level γ: throughput, i.e., playback rate e.g., for video 24 frames-per-second (fps) Goal: vary λ(t) such that Q(t) Q don t buffer too much: memory cost don t buffer too little: cannot hide congestion

Other applications: pseudo real-time set-up is highly versatile captures many scenarios Ex. 1: Router congestion control active queue management (AQM) receiver is a router/switch Q is desired buffer occupancy/delay at router router throttles sender(s) to maintain Q send control packets to senders slow down, go faster, stay put

Ex. 2: Desktop videoconferencing e.g., AOL, MSN, Skype, Yahoo video quality is not good: why? misconception: network is blamed receiver video quality: not good (why?) user space transcoding/encoding/ transmission kernel space sys call kernel buffer IRQ video camera DMA buffer DMA controller... USB/FireWire interface Sender PC

Performance consequences: Video Quality: Miss vs. Hit miss hit 5 1 15 2 frame index kernel buffer size (bytes) 4.5e+6 4e+6 3.5e+6 3e+6 2.5e+6 2e+6 1.5e+6 1e+6 5 Kernel Buffer Dynamics 1 2 3 4 5 6 time (msec)

Thus: pseudo real-time multimedia streaming application of congestion control producer/consumer rate mismatch problem also called flow control Note: producer/consumer problem in OS focus on orderly access of shared data structure mutual exclusion e.g., use of counting semaphores necessary but insufficient

What is the goal? achieve Q(t) =Q How to: basic idea if Q(t) =Q do nothing if Q(t) <Q increase λ(t) if Q(t) >Q decrease λ(t) a rule of thumb called control law

Network protocol implementation: some design options available control action undertaken at sender smart sender/dump receiver preferred mode in many Internet protocols when might the opposite be better? receiver informs sender of Q and Q(t) feedback packet ( control signaling ) or simply +/ indication (binary) or actual gap Q Q(t) Receiver sends feedback to sender; sender takes action called feedback control or closed-loop control

Key question in feedback congestion control: how much to increase/decrease λ(t) we already know in which direction Desired state of the system: Q(t) =Q and λ(t) =γ why is λ(t) = γ needed? Starting state: empty buffer and nothing is being sent think of itunes, Rhapsody, etc. i.e., Q(t) =andλ(t) =

evolution (or dynamics): track Q(t) and λ(t) Q(t) Q * λ(t) 1 2 3 4 5 6 7 8 9 1 11 12... t γ 1 2 3 4 5 6 7 8 9 1 11 12... t

Congestion control methods: A, B, C and D Method A: if Q(t) =Q then λ(t +1) λ(t) if Q(t) <Q then λ(t +1) λ(t)+a if Q(t) >Q then λ(t +1) λ(t) a where a> is a fixed parameter called linear increase/linear decrease Question: how well does it work? Example: Q()= λ()= Q = 1 γ =1 a =1

25 Load Evolution Target 2 15 Load 1 5 1 2 3 4 5 3 Lambda Evolution Gamma 25 2 Lambda 15 1 5 1 2 3 4 5

With a =.5: 25 Load Evolution Target 2 15 Load 1 5 1 2 3 4 5 3 Lambda Evolution Gamma 25 2 Lambda 15 1 5 1 2 3 4 5

With a =3: 25 Load Evolution Target 2 15 Load 1 5 1 2 3 4 5 3 Lambda Evolution Gamma 25 2 Lambda 15 1 5 1 2 3 4 5

With a =6: 25 Load Evolution Target 2 15 Load 1 5 1 2 3 4 5 3 Lambda Evolution Gamma 25 2 Lambda 15 1 5 1 2 3 4 5

Remarks: Method A isn t that great no matter what a value is used keeps oscillating Actually: would lead to unbounded oscillation if not for physical restriction λ(t) and Q(t) i.e., bottoms out easily seen: start from non-zero buffer e.g., Q() = 11

With a =1,Q() = 11, λ() = 11: 25 Load Evolution Target 2 15 Load 1 5 2 4 6 8 1 3 Lambda Evolution Gamma 25 2 Lambda 15 1 5 2 4 6 8 1

Method B: if Q(t) =Q then λ(t +1) λ(t) if Q(t) <Q then λ(t +1) λ(t)+a if Q(t) >Q then λ(t +1) δ λ(t) where a> and <δ<1 are fixed parameters Note: only decrease part differs from Method A. linear increase with slope a exponential decrease with backoff factor δ e.g., binary backoff in case δ =1/2 Similar to Ethernet and WLAN backoff question: does it work?

With a =1,δ =1/2: 25 Load Evolution Target 2 15 Load 1 5 4 8 12 16 2 3 Lambda Evolution Gamma 25 2 Lambda 15 1 5 4 8 12 16 2

With a =3,δ =1/2: 25 Load Evolution Target 2 15 Load 1 5 4 8 12 16 2 3 Lambda Evolution Gamma 25 2 Lambda 15 1 5 4 8 12 16 2

With a =1,δ =1/4: 25 Load Evolution Target 2 15 Load 1 5 4 8 12 16 2 3 Lambda Evolution Gamma 25 2 Lambda 15 1 5 4 8 12 16 2

With a =1,δ =3/4: 25 Load Evolution Target 2 15 Load 1 5 4 8 12 16 2 3 Lambda Evolution Gamma 25 2 Lambda 15 1 5 4 8 12 16 2

Note: Method B isn t that great either One advantage over Method A: doesn t lead to unbounded oscillation note: doesn t hit rock bottom due to asymmetry in increase vs. decrease policy we observe sawtooth pattern Method B is used by TCP linear increase/exponential decrease additive increase/multiplicative decrease (AIMD) Question: can we do better? what freebie have we not made use of?

Method C: λ(t +1) λ(t)+ε(q Q(t)) where ε> is a fixed parameter Tries to adjust magnitude of change as a function of the gap Q Q(t) Thus: incorporate distance from target Q before: just the sign (above/below) if Q Q(t) >, increase λ(t) proportional to gap if Q Q(t) <, decrease λ(t) proportional to gap Trying to be more clever... bottom line: is it any good?

With ε =.1: 25 Load Evolution Target 2 15 Load 1 5 5 1 15 2 3 Lambda Evolution Gamma 25 2 Lambda 15 1 5 5 1 15 2

With ε =.5: 25 Load Evolution Target 2 15 Load 1 5 5 1 15 2 3 Lambda Evolution Gamma 25 2 Lambda 15 1 5 5 1 15 2

Answer: no looks good but looks can be deceiving to try something strange any (crazy) ideas? good for course project

Method D: λ(t +1) λ(t)+ε(q Q(t)) β(λ(t) γ) where ε> and β>are fixed parameters odd looking modification to Method C additional term β(λ(t) γ) what s going on? does it work?

With ε =.2 and β =.5: 25 Load Evolution Target 2 15 Load 1 5 5 1 15 2 25 3 35 4 45 5 3 Lambda Evolution Gamma 25 2 Lambda 15 1 5 5 1 15 2 25 3 35 4 45 5

With ε =.5 and β =1.1: 25 Load Evolution Target 2 15 Load 1 5 5 1 15 2 25 3 35 4 45 5 3 Lambda Evolution Gamma 25 2 Lambda 15 1 5 5 1 15 2 25 3 35 4 45 5

With ε =.1 and β =1.: 25 Load Evolution Target 2 15 Load 1 5 5 1 15 2 25 3 35 4 45 5 3 Lambda Evolution Gamma 25 2 Lambda 15 1 5 5 1 15 2 25 3 35 4 45 5

Remarks: Method D has desired behavior Is superior to Methods A, B, and C No unbounded oscillation In fact, dampening and convergence to desired state converges to target operating point (Q,γ) called asymptotically stable why?