&RQJHVWLRQ &RQWURO &RQFHSWVsignoril/mc363/congestion.pdf · O To avoid deadlock Q One scheme is to...

32
Congestion Control: Concepts - 2 Introduction, objectives, and issues Buffer management and queuing disciplines Taxonomy Window-based flow control Rate-based flow control

Transcript of &RQJHVWLRQ &RQWURO &RQFHSWVsignoril/mc363/congestion.pdf · O To avoid deadlock Q One scheme is to...

Page 1: &RQJHVWLRQ &RQWURO &RQFHSWVsignoril/mc363/congestion.pdf · O To avoid deadlock Q One scheme is to divide buffer space into N pools (N is number of nodes in network in the “ideal”

&RQJHVWLRQ &RQWURO�&RQFHSWV

Congestion Control: Concepts - 2

7RSLFV

Q Introduction, objectives, and issues

Q Buffer management and queuing disciplines

Q Taxonomy

Q Window-based flow control

Q Rate-based flow control

Page 2: &RQJHVWLRQ &RQWURO &RQFHSWVsignoril/mc363/congestion.pdf · O To avoid deadlock Q One scheme is to divide buffer space into N pools (N is number of nodes in network in the “ideal”

Congestion Control: Concepts - 3

1HWZRUN &RQJHVWLRQ

Q Suppose that the externally offered load islarger then what can be carried by thenetwork, even with optimal routing -- thisleads to network congestionO Queue lengths increaseO Delays increaseO Buffers fill and packets must be discardedO Acknowledgment waits time-outO Packets are retransmitted, further increasing

load

Q At times, it is necessary to restrict theaccepted traffic to avoid network congestion

Congestion Control: Concepts - 4

&RQJHVWLRQ &RQWURO

Q Congestion control attempts to limit theaccepted traffic to reduce networkcongestion

Q Delay within the network is reduced, butcongestion may be pushed to high layers

Page 3: &RQJHVWLRQ &RQWURO &RQFHSWVsignoril/mc363/congestion.pdf · O To avoid deadlock Q One scheme is to divide buffer space into N pools (N is number of nodes in network in the “ideal”

Congestion Control: Concepts - 5

)ORZ &RQWURO 9HUVXV &RQJHVWLRQ &RQWURO

Q The two end-points of a connection mayhave greatly different speedsO Sender can transmit packets faster than they

can be processed at the receiverO Buffers fill at receiver and packets are discardedO Leads to unnecessary retransmissions, lost data

Q The sender must restrict its transmissionsto match the speed of the receiverO For example, receiver in TCP indicates a window

size

Q This is flow control versus congestioncontrol

Congestion Control: Concepts - 6

:D\V WR ,PSRVH &RQJHVWLRQ &RQWURO ���

Q Call blockingO A “session” is blocked from entering the

networkO Traditionally used in circuit-switched networks

X “Busy signal” in circuit-switched voicenetworks

O Becoming important in ATMX CBR, VBR, or ABR session requests a

connection with guaranteed bandwidth and/ormaximum latency -- quality of service (QoS)

X Network will accept or block the connectionX Network could offer a “degraded” connection

that may be acceptable to the application

Page 4: &RQJHVWLRQ &RQWURO &RQFHSWVsignoril/mc363/congestion.pdf · O To avoid deadlock Q One scheme is to divide buffer space into N pools (N is number of nodes in network in the “ideal”

Congestion Control: Concepts - 7

:D\V WR ,PSRVH &RQJHVWLRQ &RQWURO ���

Q Packet (cell) discardingO Packets are discarded when buffers are full or

are becoming fullO Discarding can be selective

X Packets from low priority sessionsX Packets from sessions exceeding their

allotted bandwidthX Packets that are likely to be discarded

elsewhere

Q Recovery for discarded packetsO Retransmitted or lost (no value if delayed, e.g.

video)O Need for high and low priority (ATM CLP bit)

Congestion Control: Concepts - 8

:D\V WR ,PSRVH &RQJHVWLRQ &RQWURO ���

Q Packet blockingO Individual packets can be prevented from

entering the networkX Buffer for later transmission (high priority)X Discard (low priority)

O It is better to prevent a packet from entering thenetwork than to have it use resources yet bediscarded elsewhere

O Blocking should adhere to quality of serviceagreed to upon connection establishment

Page 5: &RQJHVWLRQ &RQWURO &RQFHSWVsignoril/mc363/congestion.pdf · O To avoid deadlock Q One scheme is to divide buffer space into N pools (N is number of nodes in network in the “ideal”

Congestion Control: Concepts - 9

:D\V WR ,PSRVH &RQJHVWLRQ &RQWURO ���

Q Packet schedulingO Nodes in the network may selectively expedite

or delay packet transmissionO Selection criteria

X Delay low priority traffic in favor of highpriority traffic

X Use a round-robin schedule to ensurefairness

X Delay packets that will use congestedresources elsewhere in the network

Congestion Control: Concepts - 10

,PSRVLQJ &RQJHVWLRQ &RQWURO

Q The means of congestion control arerelatively easy to implement

Q The difficulty is determining when and towhat degree to invoke flow control

Page 6: &RQJHVWLRQ &RQWURO &RQFHSWVsignoril/mc363/congestion.pdf · O To avoid deadlock Q One scheme is to divide buffer space into N pools (N is number of nodes in network in the “ideal”

Congestion Control: Concepts - 11

2EMHFWLYHV RI &RQJHVWLRQ &RQWURO

Q Two main objectives of congestion controlO Delay … Achieve a balance between rejecting

traffic (which decreases throughput) andmaintaining low delay

O Fairness … Maintain fairness to all “sessions” inmaintaining quality of service

Q Secondary objective of congestion controlO Buffer overflow … Prevent buffer overflow that

can lead to deadlock or extreme throughputdegradationX Related to delay and fairness

Congestion Control: Concepts - 12

'HOD\ 2EMHFWLYH ���

Q Different objectives for high and low prioritytrafficO High priority traffic: Congestion control should

attempt to provide negotiated quality of service(low delay)

O Low priority traffic: Congestion control shouldreject traffic to avoid disastrous traffic jams

Q Rejecting traffic prevents retransmissionsdue to …O Discarded packets within the networkO Slow acknowledgment

Page 7: &RQJHVWLRQ &RQWURO &RQFHSWVsignoril/mc363/congestion.pdf · O To avoid deadlock Q One scheme is to divide buffer space into N pools (N is number of nodes in network in the “ideal”

Congestion Control: Concepts - 13

'HOD\ 2EMHFWLYH ���

Q Rejecting traffic shifts delay to a higherlayer -- it does not necessarily reducelatency as seen by a userO Total delay can be reduced by adding capacityO Routing may be adjusted to better utilize

capacity

Congestion Control: Concepts - 14

Excessive delayÖBuffer overflowÖRejected packetsÖSlow acks

loadγ*

T*

dela

y

'HOD\ 2EMHFWLYH ���

Q Ideal congestion control would keepaccepted load less than γ*

Q Unfortunately, it is impossible to accuratelydetermine throughput and delay in adynamic and distributed manner

Page 8: &RQJHVWLRQ &RQWURO &RQFHSWVsignoril/mc363/congestion.pdf · O To avoid deadlock Q One scheme is to divide buffer space into N pools (N is number of nodes in network in the “ideal”

Congestion Control: Concepts - 15

3RZHU RI WKH 1HWZRUN

Q There is a relationship between throughputand delay

Q Power is a measure of the efficiency of thecongestion control scheme

Power = Throughput α/Delay, 0<α<1O Maximized at knee of curve with α=1

throughput

dela

y

Congestion Control: Concepts - 16

)DLUQHVV 2EMHFWLYH

Q When traffic is rejected, congestion controlshould do so “fairly”

Q Fairness applies within a priority or serviceclassO High priority traffic normally accepted in lieu of

low priority traffic

Q Fairness must reach a compromise betweenO Providing equal access to resources for

sessionsO Throttling sessions that cause congestion

Page 9: &RQJHVWLRQ &RQWURO &RQFHSWVsignoril/mc363/congestion.pdf · O To avoid deadlock Q One scheme is to divide buffer space into N pools (N is number of nodes in network in the “ideal”

Congestion Control: Concepts - 17

)DLUQHVV YHUVXV 7KURXJKSXW� ([DPSOH

Q Assume all session generate the sameamount of traffic

Q Throughput maximized at n if Session 1through n given full capacity, Session 0given 0 capacity

Q Fairness maximized at ( n+2)/2 if all sessionsgiven one half capacity

S1 S2

link 1 link 2

S3 Sn

link nS0

Congestion Control: Concepts - 18

%XIIHU 2YHUIORZ 2EMHFWLYH

Q The objective of reducing buffer overflow isrelated to the delay and fairness objectivesO Rejected packets due to buffer overflow increase

retransmissions which then waste capacity andincrease delay

O Buffer resources should be shared fairly bycompeting sessions

Q Buffer overflow can also lead to deadlock

Page 10: &RQJHVWLRQ &RQWURO &RQFHSWVsignoril/mc363/congestion.pdf · O To avoid deadlock Q One scheme is to divide buffer space into N pools (N is number of nodes in network in the “ideal”

Congestion Control: Concepts - 19

'HDGORFN 'XH WR %XIIHU 2YHUIORZ

Q Deadlock can occur due to buffer overflow

Q Simple example:

O A has a packet for B, but B cannot accept thepacket since its buffer is full

O B has a packet for A, but A cannot accept thepacket since its buffer is also full

O Situation cannot change unless either A or Bdiscards a packet

Q May also occur with more complex cycles

A B

Congestion Control: Concepts - 20

%XIIHU 0DQDJHPHQW ���

Q A buf fer management scheme is neededO To ensure fairnessO To avoid deadlock

Q One scheme is to divide buffer space into Npools ( N is number of nodes in network inthe “ideal” case)O Space is allocated from pool k for packets that

have traversed k linksO Packets are rejected if there is no space in their

poolO Provably prevents deadlock if there are N pools

and no looping (discard if N hops)

Page 11: &RQJHVWLRQ &RQWURO &RQFHSWVsignoril/mc363/congestion.pdf · O To avoid deadlock Q One scheme is to divide buffer space into N pools (N is number of nodes in network in the “ideal”

) Congestion Control: Concepts - 21

%XIIHU 0DQDJHPHQW ���

class N-1

class k...

class 1

class 0

...class k+1

Node A

class N-1

class k...

class 1

class 0

...class k+1

Node B

Q Different pools (classes) used at source anddestination

Congestion Control: Concepts - 22

4XHXLQJ 'LVFLSOLQHV ���

Q IssuesO Which packet to send next (order of service)?O In the event of congestion, which packet(s) to

discard?

Q First-In First-Out (FIFO) or First-ComeFirst-Served (FCFS)O Typically couples order of service with discard

strategy -- but can be separatedO Number of queues

X One queue, all traffic at same priorityX Multiple queues, each for a different priority of

traffic

Page 12: &RQJHVWLRQ &RQWURO &RQFHSWVsignoril/mc363/congestion.pdf · O To avoid deadlock Q One scheme is to divide buffer space into N pools (N is number of nodes in network in the “ideal”

Congestion Control: Concepts - 23

4XHXLQJ 'LVFLSOLQHV ���

Q Fair Queueing (FQ)O Can handle a badly behaved flowO Separate queue for each flowO To avoid “hogging” by flows with long packets,

must operate as much as possible like a“bit-by-bit” round robin scheme

Round-RobinService

Congestion Control: Concepts - 24

7D[RQRP\ ���

Router Centric

Host Centric

Reservation-Based

Feedback-Based

Rate-Based

Window-Based

Page 13: &RQJHVWLRQ &RQWURO &RQFHSWVsignoril/mc363/congestion.pdf · O To avoid deadlock Q One scheme is to divide buffer space into N pools (N is number of nodes in network in the “ideal”

Congestion Control: Concepts - 25

7D[RQRP\ ���

Q Router-centric versus host-centric: Whereis the main functionality of congestioncontrol?O Hosts -- at the edge of the networkO Routers -- inside the network

Q Reservation-based versus feedback-basedO Hosts can reserve capacity

X Network accepts or rejects (blocks)O Network can provide feedback to hosts

X ExplicitX Implicit

Congestion Control: Concepts - 26

7D[RQRP\ ���

Q Window-based versus rate-basedO Window-based: hosts are controlled by limiting

their send window sizeX Messages update the size of the window

O Rate-based: hosts transmit at some rate

Page 14: &RQJHVWLRQ &RQWURO &RQFHSWVsignoril/mc363/congestion.pdf · O To avoid deadlock Q One scheme is to divide buffer space into N pools (N is number of nodes in network in the “ideal”

Congestion Control: Concepts - 27

$QRWKHU 7D[RQRP\

C.-Q. Yang and A. V. S. Reddy, “A Taxonomy for Congestion ControlAlgorithms in Packet Switching Networks,” IEEE Network, vol. 9, no.4, pp. 34-45, July/August 1995.

Congestion control schemes

Open loop control Closed loop control

Implicitfeedback(global)

Explicitfeedback

Responsive

LocalGlobal

Persistent(global)

Sourcecontrol

Destinationcontrol

Congestion Control: Concepts - 28

:LQGRZ�%DVHG &RQJHVWLRQ &RQWURO ���

Q Window-based schemes widely used forflow control and congestion control

Q A session between transmitter A andreceiver B is window flow controlled if thereis some finite upper limit on the number ofdata units sent by A but not known to havebeen received (and processed) by BO Upper bound is known as the window size or the

windowO Data units can be, for example, messages,

packets, bytes

Page 15: &RQJHVWLRQ &RQWURO &RQFHSWVsignoril/mc363/congestion.pdf · O To avoid deadlock Q One scheme is to divide buffer space into N pools (N is number of nodes in network in the “ideal”

Congestion Control: Concepts - 29

:LQGRZ�%DVHG &RQJHVWLRQ &RQWURO ���

Q ClassificationO If window size remains fixed for duration of the

virtual circuit:X Open loop with source control

O If window size can be modified during thesession by feedback from the destination:X Closed loop with implicit feedback (controlled

by implicit status)X Closed loop with local explicit feedback

(explicitly set by destination)

Q With dynamic windows, this is a form ofcredit-based flow control or congestioncontrol

Congestion Control: Concepts - 30

A B

dataunits

permits

:LQGRZ�%DVHG &RQJHVWLRQ &RQWURO ���

Q B notifies A that it has processed a data unitby sending a special message to AO Known as a permit or acknowledgmentO Permit allows A to send another data unit to BO Permits are sent as

X Special messagesX Piggybacked on reverse direction packets

Page 16: &RQJHVWLRQ &RQWURO &RQFHSWVsignoril/mc363/congestion.pdf · O To avoid deadlock Q One scheme is to divide buffer space into N pools (N is number of nodes in network in the “ideal”

Congestion Control: Concepts - 31

:LQGRZ�%DVHG &RQJHVWLRQ &RQWURO ���

Q Window-based flow control is oftencombined with error controlO Permits are also acknowledgments for ARQO TCP uses combined error and flow control

Q Delayed return of permits will throttle thesenderO Permits (or packet triggering permit) may be

delayed due to congestion in the network, sosender is slowed down to reduce congestion

O Receiver may intentionally delay permits tothrottle sender, typically to prevent bufferoverflow

Congestion Control: Concepts - 32

end-to-endflow control

:LQGRZ�%DVHG &RQJHVWLRQ &RQWURO ���

Q Window-based flow and congestion controlstrategiesO End-to-endO Node-by-node

subnet

node-by-nodeflow control

Page 17: &RQJHVWLRQ &RQWURO &RQFHSWVsignoril/mc363/congestion.pdf · O To avoid deadlock Q One scheme is to divide buffer space into N pools (N is number of nodes in network in the “ideal”

Congestion Control: Concepts - 33

(QG�WR�(QG :LQGRZV

Q End-to-end flow control operates at theentry and exit point of the subnet

Q Window size is set at αW (α and W positiveintegers)

Q After α packets (or other data units) arereceived, a permit is returned to the senderO At most W permits may be outstanding

end-to-endflow control

subnet

Congestion Control: Concepts - 34

2SHUDWLRQ RI (QG�WR�(QG :LQGRZV ���

Q Assume α = 1

Q Packets are usually assigned an identifierO Identifier k, 0 ≤ k < m, where m ≥ W+1O Permit indicates next expected k

Q A sliding window protocol (go-back n ARQ)is used

Q Each packet containsO A sequence number (identifier k)O A permit for the reverse direction

Q If next expected is k, sender may send up topacket k + W - 1 (modulo m)

Page 18: &RQJHVWLRQ &RQWURO &RQFHSWVsignoril/mc363/congestion.pdf · O To avoid deadlock Q One scheme is to divide buffer space into N pools (N is number of nodes in network in the “ideal”

Congestion Control: Concepts - 35

Node A sends packetsNode B returns permits

X

A B

d

time

2SHUDWLRQ RI (QG�WR�(QG :LQGRZV ���

Q LetO X = transmit time of a packet (assume fixed)O W = window size (in packets)O d = round trip delay (transmit time, round-trip

propagation delay, permit delay)

Congestion Control: Concepts - 36

X

A B

dWX

W = 4

γ = 1/X (packet/sec)

2SHUDWLRQ RI (QG�WR�(QG :LQGRZV ���

Q If d ≤ WX, permit will return within timeneeded to transmit a full window of packetsO No delay due to flow control (flow control

inactive)O Throughput, γ:

Page 19: &RQJHVWLRQ &RQWURO &RQFHSWVsignoril/mc363/congestion.pdf · O To avoid deadlock Q One scheme is to divide buffer space into N pools (N is number of nodes in network in the “ideal”

Congestion Control: Concepts - 37

2SHUDWLRQ RI (QG�WR�(QG :LQGRZV ���

Q If d > WX, sender must stop transmissionand wait for a permitO Flow control is activeO Throughput, γ:

X

A B

d WX

W = 4idle

γ = W/d (packet/sec)

Congestion Control: Concepts - 38

2SHUDWLRQ RI (QG�WR�(QG :LQGRZV ���

roun d-trip delay, d

act iveinacti ve

hp

ut

, γ γ = min( 1/ X, W/d)

WX

W/d1/X

Page 20: &RQJHVWLRQ &RQWURO &RQFHSWVsignoril/mc363/congestion.pdf · O To avoid deadlock Q One scheme is to divide buffer space into N pools (N is number of nodes in network in the “ideal”

Congestion Control: Concepts - 39

/LPLWDWLRQV RI (QG�WR�(QG :LQGRZV

Q Minimum throughput for a session cannotbe guaranteedO Unsuitable for video and voice sessions

Q May fail to control packet delayQ May fail to enforce fairness

Q Trade-off in setting window sizeO Small window size needed to limit congestion in

the subnetO Large window size needed to allow full speed

transmission and maximum throughput underlight to moderate loading

Congestion Control: Concepts - 40

+LJK 'DWD 5DWH 1HWZRUNV ���

Q Efficient window size depends onbandwidth-delay productO Data rate -- transmitter should not have to waitO Propagation delay -- time to return permit

Q 2BTP is the number of bytes in transit for apermit return

Page 21: &RQJHVWLRQ &RQWURO &RQFHSWVsignoril/mc363/congestion.pdf · O To avoid deadlock Q One scheme is to divide buffer space into N pools (N is number of nodes in network in the “ideal”

21

Congestion Control: Concepts - 41

+LJK 'DWD 5DWH 1HWZRUNV ���

Q Consider a B = 1 Gbps link between NewYork and California using TCP/IPO Propagation delay is about TP = 30 msO 2BTP = 7.5 Mbytes (7,500 packets at 1000 bytes

per packet)

Q Need W ≥ 7,500,000 bytes for efficientoperationO TCP provides “credits” on a per byte basisO Sequence number modulus m ≥ W + 1O A 24-bit window size field would work

X 224 = 16,777,216O Current TCP window field is 16 bits

X 216 = 65,536 (much too small!)

Congestion Control: Concepts - 42

CA

WX ≈ 0.5 ms

NY

d - WX ≈ 60 ms

Utilization is about 0.9% !

+LJK 'DWD 5DWH 1HWZRUNV ���

Q What would happen using current maximumTCP window size for the NY-to-CA link?

Gbps1Mbps68ms60.5bytes000,65

����||

||

dw

JJ

Page 22: &RQJHVWLRQ &RQWURO &RQFHSWVsignoril/mc363/congestion.pdf · O To avoid deadlock Q One scheme is to divide buffer space into N pools (N is number of nodes in network in the “ideal”

Congestion Control: Concepts - 43

+LJK 'DWD 5DWH 1HWZRUNV ���

Q A better solution would be to “pace”transmissions at some appropriate rate --basis for rate-based flo w cont ro lO Throughput is the rateO Time not wasted waiting for permits to return

CANY

Congestion Control: Concepts - 44

'\QDPLF :LQGRZ 6L]H $GMXVWPHQW ���

Q It is often desirable to dynamically adjustwindow sizeO Keep W large under light to moderate loading to

maximize throughputO Reduce W when congestion occurs

Q Feedback is needed from the point ofcongestion

Page 23: &RQJHVWLRQ &RQWURO &RQFHSWVsignoril/mc363/congestion.pdf · O To avoid deadlock Q One scheme is to divide buffer space into N pools (N is number of nodes in network in the “ideal”

Congestion Control: Concepts - 45

'\QDPLF :LQGRZ 6L]H $GMXVWPHQW ���

Q Special choke packets can be sent fromcongested nodes to appropriate sourcenodesO Source reduces window when choke receivedO Source gradually attempts to increase window

size after a time-outO Strategy is usually ad hoc and based on trial and

error experiments

Congestion Control: Concepts - 46

'\QDPLF :LQGRZ 6L]H $GMXVWPHQW ���

Q Source can sense delay in returned permits(increase in d) or excessive retransmissionsO Such conditions are assumed to be caused by

congestionO Source reduces window sizeO Source attempts to increase window after

time-out

Q Bits in packet header can be set byintermediate nodes to indicate congestionO System Network Architecture (SNA) uses two

bits that can be set by intermediate nodesX Moderately congestedX Badly congested

Page 24: &RQJHVWLRQ &RQWURO &RQFHSWVsignoril/mc363/congestion.pdf · O To avoid deadlock Q One scheme is to divide buffer space into N pools (N is number of nodes in network in the “ideal”

Congestion Control: Concepts - 47

1RGH�E\�1RGH :LQGRZV ���

Q Node-by-node windows may be used invirtual circuit networksO There is a window for each virtual circuit (an

end-to-end window)O There is a separate window for each pair of

adjacent nodes along the path of the circuit

Q Used, for example inO Digital Network Architecture (DNA)O TYMNET

Congestion Control: Concepts - 48

1RGH�E\�1RGH :LQGRZV ���

Q Node-by-node path is just one link long, sowindow size of W = 2 (or 3) is reasonableO High data rate links require larger window

Q Each node has W buffer slots for eachtransmitterO Buffer slot is freed when:

X Packet leaves subnetat local node, or

X Packet relayed tonext node

O Permit sent whenbuffer is freed

...

to transpo rt layer

to other nodes

Page 25: &RQJHVWLRQ &RQWURO &RQFHSWVsignoril/mc363/congestion.pdf · O To avoid deadlock Q One scheme is to divide buffer space into N pools (N is number of nodes in network in the “ideal”

Congestion Control: Concepts - 49

%DFN�3UHVVXUH

Q Each transmitting node will be forced toslow its rate if window (of size W) fills

Q Windows will progressively be filled from acongested link back to the sourceO This process is known as backp ressu re

receiver

WWW

sender

orig in destin ationbackpr essu re

congestedlin k

Congestion Control: Concepts - 50

'LVWULEXWLRQ RI 3DFNHWV ���

Q Assume that an end-to-end flow controlscheme and a node-by-node flow controlscheme have similar aggregate windowcapacity for an n-link connectionO End-to-end: size is nWO Node-by-node: size is W

Q Distribution of packets due to a congestedlinkO End-to-end: nW packets at congested linkO Node-by-node: W packets at each node

Page 26: &RQJHVWLRQ &RQWURO &RQFHSWVsignoril/mc363/congestion.pdf · O To avoid deadlock Q One scheme is to divide buffer space into N pools (N is number of nodes in network in the “ideal”

Congestion Control: Concepts - 51

'LVWULEXWLRQ RI 3DFNHWV ���

S DnW

WWW

End-to-end:

Node-by-node:

Congestion Control: Concepts - 52

'LVWULEXWLRQ RI 3DFNHWV ���

Q Even distribution of packets innode-by-node congestion control canreduce buffer requirements

Q Even distribution of packets also alleviatesfairness problemO Window sizes are the same at each link, so all

connections treated fairlyO Problem still exists if a node has incoming links

with different windows contending for the sameoutgoing link

Page 27: &RQJHVWLRQ &RQWURO &RQFHSWVsignoril/mc363/congestion.pdf · O To avoid deadlock Q One scheme is to divide buffer space into N pools (N is number of nodes in network in the “ideal”

Congestion Control: Concepts - 53

big W

small W

satellit e lin kterrestri al li nk

'LVWULEXWLRQ RI 3DFNHWV ���

Q Problem when a node has incoming linkswith different window sizes contending forthe same outgoing link

Congestion Control: Concepts - 54

3UREOHPV LQ +LJK 'DWD 5DWH 1HWZRUNV

Q Window sizes must be very large due tolarge propagation delay-bandwidth product

Q Window-based congestion control does notregulate end-to-end delaysO Unsuitable for applications requiring low latency

like video or voice

Q Window-based flow and congestion controloften merged with error control (ARQ)O Often goals are conflicting, for example

X Small window size good for error controlX Large window size needed for flow control

Page 28: &RQJHVWLRQ &RQWURO &RQFHSWVsignoril/mc363/congestion.pdf · O To avoid deadlock Q One scheme is to divide buffer space into N pools (N is number of nodes in network in the “ideal”

Congestion Control: Concepts - 55

5DWH�%DVHG &RQJHVWLRQ &RQWURO ���

Q Rate-based congestion control is gainingimportance due to high data rate networksand applicationsO Each session allocated guaranteed data rateO Allocated rate based on application needs

Q Input session rates set based on …O Delay-throughput trade-off

X High rates provide best throughputX Rates that are too high lead to excessive

delayO Fairness

X Rates must be fairly allocated across allsessions

Congestion Control: Concepts - 56

5DWH�%DVHG &RQJHVWLRQ &RQWURO ���

Q Suppose that a session is allocated rpackets/second

Q Strict implementationO Allow 1 packet every 1/ r secondsO Performance is like time-division multiplexing

(TDM) -- poor performance for bursty traffic

Q More reasonable schemeO Allow W packets every W/r secondsO Allows for bursts of up to W packets

Page 29: &RQJHVWLRQ &RQWURO &RQFHSWVsignoril/mc363/congestion.pdf · O To avoid deadlock Q One scheme is to divide buffer space into N pools (N is number of nodes in network in the “ideal”

Congestion Control: Concepts - 57

7LPH :LQGRZ &RQJHVWLRQ &RQWURO ���

Q Time window congestion control is similarto window-based flow control except thatpermits are generated on a timed basis atthe source rather than being returned by thedestination

Q Allocation W given to each sessionO Count x is unused part of window, 0 ≤ x ≤ WO Source can transmit as long as x ≥ 0

Congestion Control: Concepts - 58

7LPH :LQGRZ &RQJHVWLRQ &RQWURO ���

Q Operation …O Count x is decremented each time a packet is

sentO Count x is incremented W/r seconds after

transmit

Page 30: &RQJHVWLRQ &RQWURO &RQFHSWVsignoril/mc363/congestion.pdf · O To avoid deadlock Q One scheme is to divide buffer space into N pools (N is number of nodes in network in the “ideal”

Congestion Control: Concepts - 59

7LPH :LQGRZ )ORZ &RQWURO ���

t

3 2 1 0 1 1 1x =

x is value beforetransmission begins

t

W = 3

W/r

W/r

W/r

Congestion Control: Concepts - 60

W

packets with permitsawaiting transmission

packets waitingfor a permit

one permit addedevery 1/ r seconds holds only

W permits

/HDN\ %XFNHW 6FKHPH

Q Leaky bucket scheme does a better job ofcontrolling burstiness

Q Count is incremented by 1 every 1/ rseconds, up to a maximum of W

Q Leaky bucket analogy

Page 31: &RQJHVWLRQ &RQWURO &RQFHSWVsignoril/mc363/congestion.pdf · O To avoid deadlock Q One scheme is to divide buffer space into N pools (N is number of nodes in network in the “ideal”

Congestion Control: Concepts - 61

/HDN\ %XFNHW 3DUDPHWHU : ���

Q The bucket size W is an important parameterin determining the effectiveness of the leakybucket scheme

Q Small W delays bursty trafficO W = 1 yields inefficient time-division

multiplexing (TDM) behavior

Q Large W can lead to downstream congestionand buffer overflow

Congestion Control: Concepts - 62

/HDN\ %XFNHW 3DUDPHWHU: ���

Q W can be dynamically adjustedO Node can “choke” upstream sources with a

special messageO Prediction needed if propagation delays are

large

Page 32: &RQJHVWLRQ &RQWURO &RQFHSWVsignoril/mc363/congestion.pdf · O To avoid deadlock Q One scheme is to divide buffer space into N pools (N is number of nodes in network in the “ideal”

Congestion Control: Concepts - 63

<RX VKRXOG QRZ EH DEOH WR « ���

Q Describe the need for flow control andcongestion control

Q Define the difference between flow controland congestion control

Q Define the objectives of flow control andcongestion control

Q Describe the difference between FIFOqueuing and fair queuing

Q Describe the difference between anend-to-end and node-by-node slidingwindow flow control scheme

Congestion Control: Concepts - 64

<RX VKRXOG QRZ EH DEOH WR « ���

Q Describe the operation the time windowcongestion control scheme

Q Describe the operation the leaky bucketcongestion control scheme

Q Quantitatively evaluate the performance ofsliding window, time window, and leakybucket congestion control schemes

Next … ExamplesÖRate-based control in ATM’s ABR serviceÖTCP’s congestion control scheme