&RQJHVWLRQ &RQWURO &RQFHSWVsignoril/mc363/congestion.pdf · O To avoid deadlock Q One scheme is to...
Transcript of &RQJHVWLRQ &RQWURO &RQFHSWVsignoril/mc363/congestion.pdf · O To avoid deadlock Q One scheme is to...
&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
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
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
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
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
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
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
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
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
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)
) 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
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
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
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
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
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
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)
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, γ:
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
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
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
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
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
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
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
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
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
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
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
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
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
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