lecture12-congestion control.ppt

Upload: le-cuong

Post on 29-Mar-2016

224 views

Category:

Documents


0 download

TRANSCRIPT

  • 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