ATM Traffic Control Schemes Reactive controls: Adaptive admission control Call routing and load balancing Adaptive usage parameter control Explicit congestion notification forward o
Trang 1Congestion Control and Traffic Management
in High Speed Networks
Carey Williamson
University of Calgary
Trang 2Introduction
Mục đích của điều khiển tắc nghẽn la
Điều chỉnh luồng lưu lượng trong mạng
Để tránh lam bão hòa hoặc quá tải các node trung
gian
Trang 3Congestion: Effects
Tắc nghẽn có thể gây ra:
Gia tăng trê, do xếp hang trong mạng Packet loss, do tran buffer
Reduced throughput, do mất packet va
truyền lại
Tương tự: giao thông “rush hour”
Trang 4 Tuyến đầu ra chậm hơn đầu vao
Các nguồn lưu lượng cạnh tranh cho cùng đầu ra tại cùng một thời điểm
Trang 5Buffering: A Solution?
Ghi đệm tại các switches có thể giúp giảm
bớt trình trạng tắc nghẽn ngắn hạn hoặc nhất
thời
Tuy nhiên, nếu quả tải liên tục, buffer sẽ bị
đầy nhanh chóng, va packets sẽ bị lost
Chỉ trì hoãn vấn đề tắc nghẽn
Tăng buffer đồng nghĩa với trễ xếp hang lớn hơn
Vượt quá một điểm giới hạn, tăng buffer lam cho
Trang 7Động cơ (tiếp)
Yêu cầu buffer tăng theo tốc độ tuyến
VD, to store 1 second worth of traffic @ 64 kbps: 8 kilobytes
@ 10 Mbps: 1.25 Mbytes
@ 1 Gbps: 125 Mbytes
Trang 8Động cơ (tiếp)
Tính không đồng nhất của tốc độ các tuyến
- Bổ sung các tuyến tốc độ cao vao mạng
không có nghĩa la các tuyến tốc độ thấp cũ sẽ mất đi
- Kết nối các mạng tốc độ cao va thấp tạo nên tắc nghẽn tại các điểm kết nối
Trang 9Động cơ (tiếp)
Lưu lượng rất 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
- có thể statistically multiplex một số kênh nhưng nếu nhiều kênh cùng hoạt động thì không thể tránh khỏi tắc nghẽn
Trang 10Motivation (Cont’d)
Thời gian phản ứng được giới hạn bởi trễ
lan truyền
- Trong mạng WAN tốc độ cao tích
Trễ-Băng thông lớn!!!
- Tích Trễ-Băng thông cho biết có bao
nhiêu bít trong đường truyền giữa hai đầu
- Vao thời điểm nhận biết được mạng bị tắc nghẽn thì đã có hang Mbit hay nhiều hơn dữ liệu được gửi vao mạng!!
Trang 11Giải pháp phòng chống tắc
Phát hiện tắc nghẽn, hoặc tấn công vao tắc
nghẽn, hanh động để giải quyết vấn đề trước khi tình trạng tắc nghẽn trở nên xấu hơn
Preventive: reservation-based
Ngăn tắc nghẽn khỏi xảy ra bằng cách đặt chỗ
Trang 12Reactive vs Preventive
Phần lớn các giải pháp của Internet là các
cơ cấu reactive
TCP Slow Start
Random-Early-Detection (RED) Gateways
Tích trễ-băng thông lớn lam cho nhiều giải pháp không thể áp dụng được cho các
mạng tốc độ cao
Phần lớn các giải pháp điều khiển tắc
nghẽn của ATM là preventive,
reservation-based
Trang 13Congestion Control in ATM
Congestion control in high speed ATM networks
Call-level controls
Cell-level controls
Trang 15Call-Level Control (Cont’d)
Yêu cầu tai nguyên tại thời điểm thiết lập cuộc gọi (connection establishment) cho thời gian của cuộc gọi (vd, bandwidth,
buffers)
Nếu tai nguyên cho phép, cuộc gọi được thực hiện
Nếu không, cuộc gọi bị chặn lại
Ví dụ, tín hiệu bận trong telephone network
Trang 16Call-Level Control (Cont’d)
Tradeoff: QoS va Utilization
Utilization: nhiều cuộc gọi, hiệu suât cao
QoS: nhiều cuộc gọi, xác suất tắc nghẽn cao
Trang 17Call-Level Control (Cont’d)
Nhược điểm:
Có thể không công bằng
- denial of service, long access delay
Khó xác định chính xác yêu cầu tai nguyên
va các tham số QoS
- có thể không biết hoặc không trung thực
- tắc nghẽn vẫn có thể xảy ra
Trang 18Cell-Level Control
Còn gọi la input rate control
Điều khiển tốc độ đầu vao của nguồn lưu
lượng để ngăn ngừa, giảm, hoặc điều khiển mức độ tắc nghẽn
Có thể có nhiều cơ cấu:
Traffic shaping, traffic policing, UPC
Leaky bucket (token bucket)
Cell tagging (colouring), cell discarding
Cell scheduling disciplines
Trang 19VD: Congestion Control in ATM
Có đầy đủ các giải pháp điều khiển lưu lượng từ ngắn hạn (e.g., traffic shaping, cell
discarding) đến dai hạn (e.g., network
provisioning)
Trang 20ATM Traffic Control Schemes
Time Scale
Trang 21ATM Traffic Control Schemes
Short
usec
Trang 22ATM Traffic Control Schemes
Trang 23ATM Traffic Control Schemes
Long
Trang 24ATM Traffic Control Schemes
Trang 25ATM Traffic Control Schemes
Trang 26ATM Traffic Control Schemes
Time Scale
Call
Duration
Admission Control Routing, Load Balancing
Trang 27ATM Traffic Control Schemes
Long
Trang 28ATM Traffic Control Schemes
Long
Trang 29ATM Traffic Control Schemes
Preventive controls:
Resource provisioning
Connection admission control
Call routing and load balancing
Usage parameter control
Priority control
Traffic shaping
Fast reservation protocol
Trang 30ATM Traffic Control Schemes
Reactive 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
Trang 31Leaky Bucket
One 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 descriptor
Can also be used as a traffic shaper
Trang 32Leaky Bucket (Cont’d)
Think of a bucket (pail) with a small hole in the bottom
You fill the bucket with water
Water drips out the bottom at a nice constant rate: drip, drip, drip
Trang 33Leaky Bucket (Cont’d)
Trang 34Leaky Bucket (Cont’d)
Bucket
Trang 35Leaky Bucket (Cont’d)
Bucket
Empty
Trang 36Leaky Bucket (Cont’d)
Bucket
Hole
Trang 37Leaky Bucket (Cont’d)
Bucket
Water
Hole
Trang 38Leaky Bucket (Cont’d)
Trang 39Leaky Bucket (Cont’d)
Drip
Trang 40Leaky Bucket (Cont’d)
Trang 41Leaky Bucket (Cont’d)
Trang 42Leaky Bucket (Cont’d)
Trang 43Leaky Bucket (Cont’d)
Constant rate stream of drips, all nicely spaced, periodic
Trang 44Leaky Bucket (Cont’d)
Constant rate stream of drips, all nicely spaced, periodic
Storage area
for drips
waiting to go
Trang 45Leaky Bucket (Cont’d)
A leaky bucket flow control mechanism is then a software realization of this very
simple idea
Packets (cells) waiting for transmission
arrive according to some (perhaps
unknown) arrival distribution
Tokens arrive periodically (deterministically)
Cell must have a token to enter network
Trang 46Leaky Bucket (Cont’d)
Trang 47Leaky Bucket (Cont’d)
3 4
5
Trang 48Leaky Bucket (Cont’d)
Incoming Cells
Incoming Tokens
1 2
3 4
5
Trang 49Leaky Bucket (Cont’d)
Incoming Cells
Incoming Tokens
+ 1 ToNetwork
2 3 4
5
Trang 50Leaky Bucket (Cont’d)
Incoming Cells
Incoming Tokens
+ 2 1 ToNetwork
3 4
5
Trang 51Leaky Bucket (Cont’d)
Trang 52Leaky Bucket (Cont’d)
Trang 53Leaky Bucket (Cont’d)
Trang 54Leaky Bucket (Cont’d)
Trang 55Leaky Bucket (Cont’d)
Cells must obtain tokens in order to proceed into the network
If no token available, then cell is discarded
Constrains the rate at which cells enter the network to be the rate negotiated at the time
of call setup
Shapes traffic, reduces burstiness
Trang 56Buffered Leaky Bucket
Arriving cells that find a token waiting can proceed directly into the network
Arriving cells that find no token ready must wait in queue for a token
Cells that arrive to a full queue are lost
Tokens that arrive to a full token pool are simply discarded
Trang 57Buffered Leaky Bucket
Trang 58Buffered Leaky Bucket
Output traffic is r cells/sec, nicely paced
If X < r, then tokens always ready
Output traffic is X (< r)
Use for traffic shaping or UPC
Trang 59Buffered Leaky Bucket
(Cont’d)
A station can “save up” at most M tokens
Limits the maximum burst size in the network
Can send at most M cells back to back
B can be set to balance the tradeoff between cell loss and cell delay
Trang 60Leaky Bucket UPC
The token rate r is set based on the rate
declared at the time of call setup
Makes 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
Trang 61 There are several different variations of the basic leaky bucket concept described in the literature, such as the virtual leaky bucket,
spacer, others
Basic idea: rather than strictly enforcing
rates, allow senders to occasionally exceed their prescribed rate, as long as they mark or tag their extra cells
Trang 62Cell Marking Scheme
Uses 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 rate
Red (CLP = 1) for cells that don’t
Trang 63Cell Colouring (Cont’d)
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 cells
Green cells must get through
Red cells get through only if there is spare capacity in the network
Trang 64Selective 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/buffer
Below the threshold, can accept both green
and red cells
Beyond the threshold, can only accept green
cells
Trang 65Selective Cell Discard (Cont’d)
Buffer in an ATM switch
Trang 66Selective Cell Discard (Cont’d)
Buffer in an ATM switch
Trang 67Selective Cell Discard (Cont’d)
Buffer in an ATM switch
Some cells waiting to go
Trang 68Selective Cell Discard (Cont’d)
CLP Threshold
Buffer in an ATM switch
Trang 69Selective Cell Discard (Cont’d)
CLP Threshold
Trang 70Selective Cell Discard (Cont’d)
CLP Threshold
Trang 71Selective Cell Discard (Cont’d)
CLP Threshold
Trang 72Selective Cell Discard (Cont’d)
CLP Threshold
Trang 73Selective Cell Discard (Cont’d)
CLP Threshold
Trang 74Selective Cell Discard (Cont’d)
CLP Threshold
Trang 75Selective Cell Discard (Cont’d)
CLP Threshold
Trang 76Selective Cell Discard (Cont’d)
CLP Threshold
Trang 77Selective Cell Discard (Cont’d)
CLP Threshold
Trang 78Selective Cell Discard (Cont’d)
CLP Threshold
Trang 79Selective Cell Discard (Cont’d)
CLP Threshold
Trang 80Selective Cell Discard (Cont’d)
CLP Threshold
Trang 81Selective Cell Discard (Cont’d)
CLP Threshold
Trang 82Selective Cell Discard (Cont’d)
CLP Threshold
Trang 83Selective Cell Discard (Cont’d)
CLP Threshold
Trang 84Selective Cell Discard (Cont’d)
CLP Threshold
Trang 85Selective Cell Discard (Cont’d)
CLP Threshold
Trang 86Selective Cell Discard (Cont’d)
CLP Threshold
Trang 87Selective Cell Discard (Cont’d)
CLP Threshold
Trang 88Selective Cell Discard (Cont’d)
CLP Threshold
Trang 89Explicit Congestion Notification
There are some proposals to use reactive congestion control approaches for end-to-end flow control in ATM
One of the mechanisms proposed is called Explicit Forward Congestion Notification
(EFCN) (or EFCI, for Explicit Forward Congestion Indication)
Trang 90EFCI: Basic Operation
Switches can detect the onset of congestion (e.g., buffers filling up)
Switches set a control bit in cell headers to indicate this congestion condition
Sources react by reducing the volume of
traffic that they are sending through that
switch
Suitable for VBR or ABR traffic
Trang 91EFCI: Basic Operation (Cont’d)
Traffic
Source
Traffic Sink
Trang 92EFCI: Basic Operation (Cont’d)
Traffic
Source
Traffic Sink
Buffer
Trang 93EFCI: Basic Operation (Cont’d)
Traffic
Source
Traffic Sink
Trang 94EFCI: Basic Operation (Cont’d)
Traffic
Source
Traffic Sink
EFCI Threshold
Trang 95EFCI: Basic Operation (Cont’d)
Traffic
Source
Traffic Sink
Data Cell
Trang 96EFCI: Basic Operation (Cont’d)
Traffic
Source
Traffic Sink
EFCI Threshold
Trang 97EFCI: Basic Operation (Cont’d)
Traffic
Source
Traffic Sink
Trang 98EFCI: Basic Operation (Cont’d)
Traffic
Source
Traffic Sink
EFCI Threshold
Trang 99EFCI: Basic Operation (Cont’d)
Traffic
Source
Traffic Sink
Trang 100EFCI: Basic Operation (Cont’d)
Traffic
Source
Traffic Sink
EFCI Threshold
Trang 101EFCI: Basic Operation (Cont’d)
Traffic
Source
Traffic Sink
Trang 102EFCI: Basic Operation (Cont’d)
Traffic
Source
Traffic Sink
EFCI Threshold
Trang 103EFCI: Basic Operation (Cont’d)
Traffic
Source
Traffic Sink
!!!
Trang 104EFCI: Basic Operation (Cont’d)
Traffic
Source
Traffic Sink
EFCI Threshold
Ack Cell
Trang 105EFCI: Basic Operation (Cont’d)
Traffic
Source
Traffic Sink
Trang 106EFCI: Basic Operation (Cont’d)
Traffic
Source
Traffic Sink
EFCI Threshold
Trang 107EFCI: Basic Operation (Cont’d)
Traffic
Source
Traffic Sink
Trang 108EFCI: Basic Operation (Cont’d)
Traffic
Source
Traffic Sink
EFCI Threshold
!!!
Trang 109EFCI: Basic Operation (Cont’d)
Traffic
Source
Traffic Sink
Trang 110EFCI: Basic Operation (Cont’d)
Traffic
Source
Traffic Sink
EFCI Threshold
Trang 111EFCI: Basic Operation (Cont’d)
Traffic
Source
Traffic Sink
Trang 112EFCI: Basic Operation (Cont’d)
Traffic
Source
Traffic Sink
EFCI Threshold
Trang 113EFCI: Basic Operation (Cont’d)
Traffic
Source
Traffic Sink
Trang 114EFCI Issues
How to set EFCI threshold
What should sources do when EFCI signal
is seen
What should sources do when no EFCI
signal is seen
Forward versus backward notification
Effect of feedback delay
Delay x bandwidth product
Trang 115 Congestion control in high speed ATM
networks is a difficult problem
Lots 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 traffic