Congestion Controland Traffic Management in High Speed NetworksCarey WilliamsonUniversity of Calgary
Introduction Muc ich cua iu khin tc nghen laiu chinh lung lu lng trong mang tranh lam bao hoa hoc qua tai cac node trung gian
Congestion: EffectsTc nghen co th gy ra: Gia tng tr, do xp hang trong mang Packet loss, do tran buffer Reduced throughput, do mt packet va truyn laiTng t: giao thng rush hour
Congestion: CausesNguyn nhnNhu cu lu lng u vao vt qua dung lng mangXay ra d dang trong cac mang packet switching do:Tuyn u ra chm hn u vaoCac ngun lu lng canh tranh cho cung u ra tai cung mt thi im
Buffering: A Solution?Ghi m tai cac switches co th giup giam bt trinh trang tc nghen ngn han hoc nht thiTuy nhin, nu qua tai lin tuc, buffer se bi y nhanh chong, va packets se bi lostChi tri hoan vn tc nghenTng buffer ng nghia vi tr xp hang ln hnVt qua mt im gii han, tng buffer lam cho tinh trang tc nghen xu hn, do gia tng tr va phat lai
ng cVn tc nghen thm chi con trm trong hn trong cac mang tc caoTc tuyn cao hn co nghia la tc nghen xay ra nhanh hn trc VD, 64 kilobyte buffer @ 64 kbps: 8.2 seconds @ 10 Mbps: 52 milliseconds @ 1 Gbps: 0.52 milliseconds
ng c (tip)Yu cu buffer tng theo tc tuyn VD, to store 1 second worth of traffic @ 64 kbps: 8 kilobytes @ 10 Mbps: 1.25 Mbytes @ 1 Gbps: 125 Mbytes
ng c (tip)Tinh khng ng nht cua tc cac tuyn - B sung cac tuyn tc cao vao mang khng co nghia la cac tuyn tc thp cu se mt i - Kt ni cac mang tc cao va thp tao nn tc nghen tai cac im kt ni
ng c (tip)Lu lng rt bursty - high peak-to-mean ratio, peak rates - e.g., data traffic: 10-to-1, 1-10 Mbps - e.g., video traffic: 20-to-1, 5-100 Mbps - co th statistically multiplex mt s knh nhng nu nhiu knh cung hoat ng thi khng th tranh khoi tc nghen
Motivation (Contd)Thi gian phan ng c gii han bi tr lan truyn - Trong mang WAN tc cao tich Tr-Bng thng ln!!! - Tich Tr-Bng thng cho bit co bao nhiu bit trong ng truyn gia hai u - Vao thi im nhn bit c mang bi tc nghen thi a co hang Mbit hay nhiu hn d liu c gi vao mang!!
Giai phap phong chng tc nghenCo hai giai phap c ban i vi vn tc nghen: giai phap phan ng (reactive) va phong tranh (preventive) Reactive: feedback-basedPhat hin tc nghen, hoc tn cng vao tc nghen, hanh ng giai quyt vn trc khi tinh trang tc nghen tr nn xu hnPreventive: reservation-basedNgn tc nghen khoi xay ra bng cach t ch trc tai nguyn
Reactive vs PreventivePhn ln cac giai phap cua Internet la cac c cu reactiveTCP Slow StartRandom-Early-Detection (RED) GatewaysTich tr-bng thng ln lam cho nhiu giai phap khng th ap dung c cho cac mang tc caoPhn ln cac giai phap iu khin tc nghen cua ATM la preventive, reservation-based
Congestion Control in ATMCongestion control in high speed ATM networksCall-level controlsCell-level controls
Call-Level ControlVi du cua giai phap iu khin tc nghen call-level: call admission controlC gng ngn tc nghen bng cach khng cho phep cac cuc goi hay kt ni mi vao mang tr khi mang co u dung lng h tr
Call-Level Control (Contd)Yu cu tai nguyn tai thi im thit lp cuc goi (connection establishment) cho thi gian cua cuc goi (vd, bandwidth, buffers)Nu tai nguyn cho phep, cuc goi c thc hinNu khng, cuc goi bi chn laiVi du, tin hiu bn trong telephone network
Call-Level Control (Contd)Tradeoff: QoS va UtilizationUtilization: nhiu cuc goi, hiu sut caoQoS: nhiu cuc goi, xac sut tc nghen cao
Call-Level Control (Contd)Nhc im: Co th khng cng bng - denial of service, long access delay Kho xac inh chinh xac yu cu tai nguyn va cac tham s QoS - co th khng bit hoc khng trung thc - tc nghen vn co th xay ra
Cell-Level ControlCon goi la input rate controliu khin tc u vao cua ngun lu lng ngn nga, giam, hoc iu khin mc tc nghenCo th co nhiu c cu: Traffic shaping, traffic policing, UPC Leaky bucket (token bucket) Cell tagging (colouring), cell discarding Cell scheduling disciplines
VD: Congestion Control in ATMCo y u cac giai phap iu khin lu lng t ngn han (e.g., traffic shaping, cell discarding) n dai han (e.g., network provisioning)
ATM Traffic Control Schemes
ATM Traffic Control SchemesShortTermusec
ATM Traffic Control SchemesShortTermusecLongTermMonths, years
ATM Traffic Control SchemesTime ScaleCell TimeUsage Parameter ControlPriority ControlTraffic ShapingCell DiscardingPropagationDelay TimeExplicit Congestion NotificationFast Reservation ProtocolNode to Node Flow ControlCallDurationAdmission ControlRouting, Load BalancingLongTermResource Provisioning
ATM Traffic Control SchemesTime ScaleCell TimeUsage Parameter ControlPriority ControlTraffic ShapingCell Discarding
ATM Traffic Control SchemesTime ScalePropagationDelay TimeExplicit Congestion NotificationFast Reservation ProtocolNode to Node Flow Control
ATM Traffic Control SchemesTime ScaleCallDurationAdmission ControlRouting, Load Balancing
ATM Traffic Control SchemesTime ScaleLongTermResource Provisioning
ATM Traffic Control SchemesTime ScaleCell TimeUsage Parameter ControlPriority ControlTraffic ShapingCell DiscardingPropagationDelay TimeExplicit Congestion NotificationFast Reservation ProtocolNode to Node Flow ControlCallDurationAdmission ControlRouting, Load BalancingLongTermResource Provisioning
ATM Traffic Control SchemesPreventive controls: Resource provisioning Connection admission control Call routing and load balancing Usage parameter control Priority control Traffic shaping Fast reservation protocol
ATM Traffic Control SchemesReactive controls: Adaptive admission control Call routing and load balancing Adaptive usage parameter control Explicit congestion notification (forward or backward) Node to node flow control Selective cell discarding
Leaky BucketOne of the cell-level control mechanisms that has been proposed is the leaky bucket (a.k.a. token bucket)Has been proposed as a traffic policing mechanism for Usage Parameter Control (UPC), to check conformance of a source to its traffic descriptorCan also be used as a traffic shaper
Leaky Bucket (Contd)Think of a bucket (pail) with a small hole in the bottomYou fill the bucket with waterWater drips out the bottom at a nice constant rate: drip, drip, drip...
Leaky Bucket (Contd)
Leaky Bucket (Contd)Bucket
Leaky Bucket (Contd)BucketEmpty
Leaky Bucket (Contd)BucketHole
Leaky Bucket (Contd)BucketWaterHole
Leaky Bucket (Contd)
Leaky Bucket (Contd)Drip
Leaky Bucket (Contd)
Leaky Bucket (Contd)
Leaky Bucket (Contd)
Leaky Bucket (Contd)Constantrate stream ofdrips, all nicelyspaced, periodic
Leaky Bucket (Contd)Constantrate stream ofdrips, all nicelyspaced, periodicStorage areafor dripswaiting to go
Leaky Bucket (Contd)A leaky bucket flow control mechanism is then a software realization of this very simple ideaPackets (cells) waiting for transmission arrive according to some (perhaps unknown) arrival distributionTokens arrive periodically (deterministically)Cell must have a token to enter network
Leaky Bucket (Contd)Incoming Cells(generated bytraffic sourcewith rate X)Incoming Tokensat rate r tokens/sec+ToNetwork
Leaky Bucket (Contd)Incoming CellsIncoming Tokensat rate r tokens/sec+ToNetwork12345
Leaky Bucket (Contd)Incoming CellsIncoming Tokens+ToNetwork12345
Leaky Bucket (Contd)Incoming CellsIncoming Tokens+ToNetwork12345
Leaky Bucket (Contd)Incoming CellsIncoming Tokens+ToNetwork12345
Leaky Bucket (Contd)Incoming CellsIncoming Tokens+ToNetwork12345
Leaky Bucket (Contd)Incoming CellsIncoming Tokens+ToNetworkX12345
Leaky Bucket (Contd)Incoming CellsIncoming Tokens+ToNetworkXX12345
Leaky Bucket (Contd)Incoming CellsIncoming Tokens+ToNetworkXX123
Leaky Bucket (Contd)Cells must obtain tokens in order to proceed into the networkIf no token available, then cell is discardedConstrains the rate at which cells enter the network to be the rate negotiated at the time of call setupShapes traffic, reduces burstiness
Buffered Leaky BucketArriving cells that find a token waiting can proceed directly into the networkArriving cells that find no token ready must wait in queue for a tokenCells that arrive to a full queue are lostTokens that arrive to a full token pool are simply discarded
Buffered Leaky BucketIncoming CellsIncoming Tokensat rate r tokens/sec+ToNetworkQueue ofat most Bwaiting cellsPool of at most Mwaiting tokens
Buffered Leaky Bucket (Contd)Incoming cell rate: XToken rate: rIf X > r, then cells wait in buffer until tokens are available Output traffic is r cells/sec, nicely pacedIf X < r, then tokens always ready Output traffic is X (< r)Use for traffic shaping or UPC
Buffered Leaky Bucket (Contd)A station can save up at most M tokensLimits the maximum burst size in the networkCan send at most M cells back to backB can be set to balance the tradeoff between cell loss and cell delay
Leaky Bucket UPCThe token rate r is set based on the rate declared at the time of call setupMakes sure that each source obeys rate that was used when the call admission decision was made (i.e., descriptor)Can use single leaky bucket to police just the peak cell rate (PCR)Can use dual leaky bucket to police both PCR and SCR
VariationsThere are several different variations of the basic leaky bucket concept described in the literature, such as the virtual leaky bucket, spacer, othersBasic idea: rather than strictly enforcing rates, allow senders to occasionally exceed their prescribed rate, as long as they mark or tag their extra cells
Cell Marking SchemeUses leaky bucket to regulate cell transmissions as before, but rather than having cells wait for tokens when there are no tokens ready, the station can transmit the cell and mark it as a violation cell (i.e., cell colouring)Green (CLP = 0) for cells that obey rateRed (CLP = 1) for cells that dont
Cell Colouring (Contd)If the network detects congestion at any point, then it does not hesitate to throw away red cells (CLP = 1), but always gives preference to green cellsGreen cells must get throughRed cells get through only if there is spare capacity in the networkNo harm in trying! principle
Selective Cell Discard (SCD)A cell-level control mechanism in ATM switches called selective cell discard can be implemented quite easily using a CLP threshold on each queue/bufferBelow the threshold, can accept both green and red cellsBeyond the threshold, can only accept green cells
Selective Cell Discard (Contd)Buffer in an ATM switch
Selective Cell Discard (Contd)Buffer in an ATM switch
Selective Cell Discard (Contd)Buffer in an ATM switchSome cellswaiting to go
Selective Cell Discard (Contd) CLPThresholdBuffer in an ATM switch
Selective Cell Discard (Contd) CLPThreshold
Selective Cell Discard (Contd) CLPThreshold
Selective Cell Discard (Contd) CLPThreshold
Selective Cell Discard (Contd) CLPThreshold
Selective Cell Discard (Contd) CLPThreshold
Selective Cell Discard (Contd) CLPThreshold
Selective Cell Discard (Contd) CLPThreshold
Selective Cell Discard (Contd) CLPThreshold
Selective Cell Discard (Contd) CLPThreshold
Selective Cell Discard (Contd) CLPThreshold
Selective Cell Discard (Contd) CLPThreshold
Selective Cell Discard (Contd) CLPThreshold
Selective Cell Discard (Contd) CLPThreshold
Selective Cell Discard (Contd) CLPThreshold
Selective Cell Discard (Contd) CLPThreshold
Selective Cell Discard (Contd) CLPThreshold
Selective Cell Discard (Contd) CLPThreshold
Selective Cell Discard (Contd) CLPThreshold
Selective Cell Discard (Contd) CLPThreshold
Selective Cell Discard (Contd) CLPThreshold
Explicit Congestion NotificationThere are some proposals to use reactive congestion control approaches for end-to-end flow control in ATMOne of the mechanisms proposed is called Explicit Forward Congestion Notification (EFCN) (or EFCI, for Explicit Forward Congestion Indication)
EFCI: Basic OperationSwitches can detect the onset of congestion (e.g., buffers filling up)Switches set a control bit in cell headers to indicate this congestion conditionSources react by reducing the volume of traffic that they are sending through that switchSuitable for VBR or ABR traffic
EFCI: Basic Operation (Contd)Traffic SourceTraffic SinkSwitchSwitchSwitch
EFCI: Basic Operation (Contd)Traffic SourceTraffic SinkSwitchSwitchSwitchBuffer
EFCI: Basic Operation (Contd)Traffic SourceTraffic SinkSwitchSwitchSwitchOccupiedUnoccupied
EFCI: Basic Operation (Contd)Traffic SourceTraffic SinkSwitchSwitchSwitchEFCI Threshold
EFCI: Basic Operation (Contd)Traffic SourceTraffic SinkSwitchSwitchSwitchEFCI ThresholdDataCell
EFCI: Basic Operation (Contd)Traffic SourceTraffic SinkSwitchSwitchSwitchEFCI Threshold
EFCI: Basic Operation (Contd)Traffic SourceTraffic SinkSwitchSwitchSwitchEFCI Threshold
EFCI: Basic Operation (Contd)Traffic SourceTraffic SinkSwitchSwitchSwitchEFCI Threshold
EFCI: Basic Operation (Contd)Traffic SourceTraffic SinkSwitchSwitchSwitchEFCI Threshold
EFCI: Basic Operation (Contd)Traffic SourceTraffic SinkSwitchSwitchSwitchEFCI Threshold
EFCI: Basic Operation (Contd)Traffic SourceTraffic SinkSwitchSwitchSwitchEFCI Threshold
EFCI: Basic Operation (Contd)Traffic SourceTraffic SinkSwitchSwitchSwitchEFCI Threshold
EFCI: Basic Operation (Contd)Traffic SourceTraffic SinkSwitchSwitchSwitchEFCI Threshold!!!
EFCI: Basic Operation (Contd)Traffic SourceTraffic SinkSwitchSwitchSwitchEFCI ThresholdAckCell
EFCI: Basic Operation (Contd)Traffic SourceTraffic SinkSwitchSwitchSwitchEFCI Threshold
EFCI: Basic Operation (Contd)Traffic SourceTraffic SinkSwitchSwitchSwitchEFCI Threshold
EFCI: Basic Operation (Contd)Traffic SourceTraffic SinkSwitchSwitchSwitchEFCI Threshold
EFCI: Basic Operation (Contd)Traffic SourceTraffic SinkSwitchSwitchSwitchEFCI Threshold!!!
EFCI: Basic Operation (Contd)Traffic SourceTraffic SinkSwitchSwitchSwitchEFCI Threshold
EFCI: Basic Operation (Contd)Traffic SourceTraffic SinkSwitchSwitchSwitchEFCI Threshold
EFCI: Basic Operation (Contd)Traffic SourceTraffic SinkSwitchSwitchSwitchEFCI Threshold
EFCI: Basic Operation (Contd)Traffic SourceTraffic SinkSwitchSwitchSwitchEFCI Threshold
EFCI: Basic Operation (Contd)Traffic SourceTraffic SinkSwitchSwitchSwitchEFCI Threshold
EFCI IssuesHow to set EFCI thresholdWhat should sources do when EFCI signal is seenWhat should sources do when no EFCI signal is seenForward versus backward notificationEffect of feedback delayDelay x bandwidth product
SummaryCongestion control in high speed ATM networks is a difficult problemLots of good ideas of how to do it, but no real standard (yet?)Will likely require a combination of schemes at different time scales and for different classes of trafficLots more remains to be done
Top Related