Document 7440490

Download Report

Transcript Document 7440490

Traffic Control
TRAFFIC DESCRIPTOR
QoS
Source
Admission
Control
Connection Setup Phase
Policing
Source
Traffic Policed
Traffic
Network
Connection Phase
Different Levels of (Preventive) Congestion Control:
- Admission Control:
Ensure QoS of new connection without violating QoS of existing traffic.
- Flow Control (Policing):
Network admits traffic from sources only at pre-specified rates.
- Scheduling:
Use priorities within the network to distinguish different levels of
connections.
Traffic Descriptors
(Specified for every connection)
Peak Cell Rate (PCR) = 1/T in units of cells/second, where
T is the minimum intercell spacing in seconds, i.e., the time
interval from the first bit of one cell to the first bit of the
next cell. PCR is the minimum time interval between two
consecutive cells. (T  1 sec)
Cell Delay Variation (CDV) Tolerance = t in seconds.
The number of cells, B, that can be sent back-to-back at the
access line is
B=
τ 

1  T  1
Source Behavior
Cell
Interarrival
Time
CBR
time
Cell
Interarrival
Time
Burst Duration
VBR
Call Duration
Call Set-up
Burst to Burst
Interval
time
Call Tear-Down
Traffic Descriptors
(Specified for every connection)
Peak Cell Rate (PCR):
Max. amount of traffic that can be submitted by a source to
an ATM network & expressed as ATM cells per second.
Caveat: Peak bit rate of a source, (max. number of bits per
second submitted to an ATM connection).
PCR > Peak Bit Rate
Traffic Descriptors
(Specified for VBR Connections)
 Sustainable Cell Rate (SCR)
is the maximum average rate that a bursty, on-off
source traffic, can be sent at the peak rate.
(Range: Lower Bound  Upper Bound Rates)
 Maximum Burst Size (MBS) is the maximum number of
cells that can be sent at the peak rate.
 Calculate: The average # of cells submitted by the source over
successive short periods of T.
If the source transmits for a period of D=30 minutes and T=1 sec, then
there are 1800 T periods and we will obtain 1800 averages, one per
period.
The largest of all these averages is called the SCR.
Remark: SCR cannot be larger than PCR and be less than the
Average Cell Rate.
Remark: If we set T=D, then SCR becomes ACR at which the source
submits cells to ATM.
e.g., If T=30 min, then SCR=ACR.
Traffic Descriptors
• Derived from collected statistics or from Network Operator’s
estimate of what is required.
• The subscriber may not know in advance of what is required.
• For new connection requests, the subscriber may not know in advance
the expected traffic behavior.
• Thus, the user only specifies the type of service to be provided
in high-level terms (e.g., voice, video-telephony, or image database
browsing,) as well as QoS (e.g., image resolution – high, medium, or low).
• Network providers are responsible for deriving the appropriate
traffic parameters and ensuring that the QoS requirements are achieved.
 Peak Cell Transfer Rate: Minimum intercell arrival time
between two consecutive cells
 Connection Burst Rate: Minimum time allowed for the
arrival of B cells, where B is the maximum expected burst
length (e.g., video traffic); the max # of cells sent back to
back.
 Average Rate: Number of cells expected to arrive during a
fairly long time period
Example: Video:
Peak Rate
11.75
14.42
44.7
Average Rate (Mb/s)
3.0
4.2
16.8
Quality of Service (QoS) Expectations
 Applications
have service requirements on:
- Throughput  Output Rates = System Productivity
- Maximum Delay  End-to-End Delay
- Variance of Delays (Delay Jitter)
- Loss Probability  (e.g., BER= 10-12 )
Network MUST guarantee the required Quality of Service
(Traffic Contract)
QoS Parameters
(Negotiated through Signaling)
 Mean Cell Transfer Delay (Mean CDT)
 Peak to Peak Cell Delay Variation (CDV)
 Maximum Cell Transfer Delay (Max CDT)
 Cell Loss Ratio (CLR)
 Cell Error Rate (CER) =
=
Errored Cells
Successfully Transmitte d  Errored Cells
 Severely Errored Cell Block Ratio (SECBR)
SECBR 
Severely - Errored Cell Blocks
Total Transmitte d Cell Blocks
A cell block is a sequence of N cells transmitted consecutively on a
given connection. A severely errored cell block outcome occurs when
more than M errored cells, lost cells, or misinserted cells outcomes
are observed in a received cell block.
Misinserted Cells
CMR

 Cell Misinsertion Rate (CMR)
Time Interval
Cell misinsertion on a particular connection is most often caused by
an undetected error in the header of a cell being transmitted on a
different connection. This performance parameter is defined as a
rate (rather than the ratio) since the mechanism producing
misinserted cells is independent of the number of transmitted cells
received on the corresponding connection.
Table of Procedures Used to Set
Value of Traffic Contract Parameters
Explicitly Specified Parameters
Parameter Values
set at ConnectionSetup Time
Requested by
Users/NMS
Parameter Values
set at Subscription
Time by the
Network Operator
Implicitly Specified Parameters
Parameter Values
set Using
Default Rules
Assigned by Network Operator
SVC
Signaling
By subscription
Network-operator default rules
PVC
NMS
By subscription
Network-operator default rules
SVC = Switched Virtual Connection
PVC = Permanent Virtual Connection
NMS = Network Management System
Traffic Classes
CBR:
Constant Bit Rate
rt-VBR:
real-time Variable Bit Rate
nrt-VBR:
non-real-time Variable Bit Rate
ABR:
Available Bit Rate
(Guarantee that the traffic will be
transmitted by certain time)
UBR:
Unspecified Bit Rate (No guarantees!)
Enhancement of UBR: GFR  Guaranteed Frame Rate
Traffic Classes
GFR: (Undecided whether separate category or within UBR)
Ensure minimum rate guarantees to UBR VCs. Rate
guarantee is provided at frame level. GFR also guarantees
fairness, i.e., share any capacity left behind fairly among the
GFR VCs.
Applications:
Sources can neither specify the SCR and Burst Size needed
for a VBR connection nor can be subject to ABR source
rules (Minimum Cell Rate).
PCR, MCR, MBS and Max Frame Size and CLR.
QoS Classes:
QoS Class
0
1
2
3
4
QoS Parameters
Unspecified
Specified
Specified
Specified
Specified
Application
“Best Effort”, UBR
Circuit Emulation, CBR
VBR Video/Audio
Connection-Oriented Data
Connectionless Data
Example Applications for CBR:
• Interactive Video (e.g., videoconferencing)
• Interactive Audio (e.g., telephone)
• Video Distribution (e.g., television, distributed classroom)
• Audio Distribution (e.g., radio, audio feed)
• Video Retrieval (e.g., video-on-demand)
• Any data/text/image transfer application which contains smooth enough traffic or for
which the end-system’s response time requirements justify occupying a fully reserved
CBR channel.
Example Applications for real-time (rt-VBR):
• Any CBR application for which the end-system can benefit from statistical
multiplexing by sending at a variable rate, and can tolerate or recover from a
small but non-zero random loss ratio.
• Any CBR application for which variable rate transmission allows more
efficient use of network resources.
Example Applications for non-real-time (nrt-VBR):
• Response time critical transaction processing (e.g. airline reservations,
banking transactions, process monitoring)
• Frame Relay interworking
Example Applications for UBR:
• Interactive Text/Data/Image Transfer (e.g., banking transaction, credit card
verification)
• Text/Data/Image Messaging (e.g., e-mail, telex, fax)
• Text/Data/Image Distribution (e.g., news feed, weather sat. pictures)
• Text/Data/Image Retrieval (e.g., file transfer, library browsing)
• Aggregate LAN (e.g., LAN interconnection or emulation)
• Remote Terminal (e.g., telecommuting, telnet)
Example Applications for ABR:
• Any UBR application for which the end-system requires a guaranteed QoS.
• Critical data transfer (e.g., defense information).
• Super computer applications.
• Data communication applications requiring better delay behavior, such as
remote procedure call, distributed file service (e.g., NFS), or computer process
swap/paging.
Example Applications for GFR:
• For Heterogeneous (Hybrid) Networks, network elements outside
ATM can benefit  i.e., IP routers could use GFR VCs to exchange
control messages.
• Current Internet applications are not designed to run over QoSbased networks. These applications could benefit from a minimum
rate guarantee by the network, along with an opportunity to use
the bandwidth fairly.
Overview (Traffic & QOS Parameters)
ATM Layer Service Categories
Attribute
CBR
PCR and CDVT
5
SCR, MBS
Mean CDV
Maximum CTD
CLR
Feedback
nrt-VBR
n/a
UBR
ABR
specified
specified
5,6
Min. Cell Rate
MCR
Peak-to-peak CDV
rt-VBR
specified
3
specified
4
n/a
n/a
n/a
specified
specified
specified
unspecified
unspecified
unspecified
unspecified
unspecified
specified
unspecified
unspecified
specified
specified
unspecified
unspecified
unspecified
unspecified
specified
specified
unspecified
1
2
unspecified
specified
7
Notes:
1. For CBR, rt-VBR, and nrt-VBR, the Cell Loss Ratio may be unspecified
for CLP=1.
2. Minimized for sources that adjust cell flow in response to control
information.
3. May not be subject to CAC and UPC procedures.
4. Represents the maximum rate at which the source can send as controlled
by the control information.
5. These parameters are either explicitly or implicitly specified for PVCs
or SVCs.
6. Different values of CDVT may be specified for SCR and PCR.
7. See Section on “ABR Flow Control”
Connection Admission Control (CAC)
• The primary function of the CAC is to accept a new connection request only
if its stated QoS can be maintained without influencing the QoS of the already
accepted connections.
• It is very likely that certain calls will require more than one connection
(e.g., teleconferencing) CAC procedure must be performed for each requested
VCC or VPC.
• CAC must
- Decide whether connections can be accepted or not.
- Provide parameters required by the UPC.
- Perform resource allocation.
Connection Admission Control (CAC)
Typically, the decision to accept or reject a new
connection is based on the answers to the following two
questions:
 Does the new connection affect the QoS of other
existing connections?
 Can the network provide the QoS expectations
required by this new connection?
Call Establishment Process
Using Virtual Paths
Request for VCC originates
VPC exists
yes
Can QoS be satisfied?
yes
no
Establish a new
VPC or VCC
no
Block VCC or request
more capacity
Request granted
no
Reject VCC request
Make connection
yes
 Parameters demanded by the user which CAC uses, e.g.,:
– Cell Loss Ratio (for data traffic, it is of the order of 10-12)
– Cell Delays (for voice 500 ms round trip delay is noticeable)
– Cell Delay Jitter (important for voice traffic and multiple streams 1ms)
(NOTE: For exact PARAMETER SPECS see the earlier explanation!!!)
 Parameters of the source specified by the user which CAC uses, e.g.,:
– Peak Rate of the Source
– Sustainable Cell Rate of the Source
– Maximum Burst Duration of the Source
(NOTE: See the exact PARAMETERS earlier!!!!)
 Network statistics used by the CAC for making the decision:
Available BW on each of the established or desired paths
Source Behavior
Cell
Interarrival
Time
CBR
time
Cell
Interarrival
Time
Burst Duration
VBR
Burst to Burst
Interval
time
Call Duration
Call Tear-Down
Call Set-up
VBR Source
Description:
ON
OFF
Burst Length Distribution
Interarrival Distribution During Burst
Idle (Silent) Length Distribution
or
Peak Cell Rate
Sustainable Service Rate
Mean Burst Length
< PCR, SCR, MBS >
Source Characterization
Long Range
Dependency Processes
(Self-Similar Processes)
Markovian
Sources
On-Off
MMPP
Voice, Video
Traffic
Poisson
Process
Data
Traffic
Valid
Markov
Modulated
Poisson
Process
IFP
Interrupted
Fluid
Process
IBP
Interrupted
Bernoulli
Process
Bandwidth Allocation
Fixed Bandwidth Allocation
(Guaranteed BW)
(Peak BW Allocation)
Dynamic Bandwidth
Allocation
Bandwidth Allocation
•
PEAK BANDWIDTH ALLOCATION (DETERMINISTIC)
• Suppose a source has an average BW of 20 Mbps and a peak BW of 45 Mbps.
• Peak BW allocation requires that 45 Mbps be reserved at the output port for
the specific source independent of whether or not the source transmits
continuously at 45 Mbps.
• Peak BW allocation is used for CBR services.
• The new connection is accepted, if the sum of the peak rates of all the existing
connections plus the peak rate of the new connection is less than the capacity of
the output link.
• ADVANTAGE: Easy to decide whether to accept a new connection or not.
• DISADVANTAGE: Output port link will be underutilized if the sources do not
transmit at their peak rates.
•
STATISTICAL ALLOCATION (Dynamic Allocation)
• The allocated BW is less than the peak rate of the source.
• The sum of all peak rates may be greater than the capacity of the output link.
Bandwidth Allocation (Cont.)
CBR, rt-VBR
BW is allocated in deterministic fashion
according to the peak rate
c1
C
cn
n
C   ci
i 1
Dynamic BW Allocation
Consider a single source feeding a finite capacity queue:
C1
QoS  
Cell Loss
Probability
Objective:
C
Trunk
Server
Finite Buffer
Dynamic Bandwidth Allocation (Statistical)
N
C   ci
i 1
Bandwidth Estimation
• In order to allocate bandwidth, it needs to be estimated;
i.e., if a source with QoS expectations is admitted, will it
affect other already existing connections.
BW Estimation Techniques
Equivalent Heavy Traffic
Upper Bounds Fast Buffer
Approximation of Cell Loss
Capacity
BW
Link Metric
Probabilities Allocation
Approach
Time
Windows
(Stop & Go)
Equivalent Bandwidth
(Link Metric Approach)
Use Traffic Descriptors, Cell Loss Rate, and Buffer Size
2



B
(
1


)
r

x


(
1


)
r

x
 4 xB (1   )r

c
2B(1   )
Traffic Source is defined by (r,,B) and has QoS requirements
Q(D,e).
r:
Peak rate of the source
:
Ratio of the average rate to peak rate of the source
B:
Maximum burst length
D:
Delay requirement
e:
Required error bound (CELL LOSSES) for the source
1
  ln  
e
C: Link Capacity
x=D·C
Source
C
The maximum number of sources that can be
multiplexed onto the link without violating QoS:
C 
n
c 
Easy to enforce Call Admission Process

Test whether the sum of all equivalent BWs c is less
than or equal to available BW.
• Factors Equivalent Bandwidth depends on:
– Ratio of the peak rate of the call to the link rate
– Burstiness: the factor  as shown above determines
this. In the above expression, as  becomes 0, the
total bandwidth required then
– = r/2-D·C/(2B).
– Burst Lengths: As the burst length increases, the
equivalent bandwidth also increases.
• Here, it is assumed that all sources have the
same QoS requirements.
• Inaccuracies because:

– Fluid Flow Approximation used to derive c is
insensitive to stochastic structure of source
behavior.
– Assumed that equivalent bandwidth is not
dependent on the already admitted sources.
Overestimation of the required bandwidth
possible.
– Focuses on the Cell Loss Probability as the only
QoS parameter. Uses it as an upper bound.
End-To-End Model Used By CAC
CAC is based on an abstract
performance model of the
network.
Multiplexing
Entering
Cross Traffic
Departing
Cross Traffic
Entering
Cross Traffic
Departing
Cross Traffic
Entering
Cross Traffic
Departing
Cross Traffic
- FINITE BUFFERS
- DETERMINISTIC SERVICE TIMES
Modeling Problems
Need for accurate end-to-end queuing models because :
- Because arrival streams (non-Poisson traffic)
- Finite buffers at the multiplexers and switches
- Correlated cell arrivals
- Large state-space of the resulting system
- Simulations of such systems take very long to converge
Demultiplexing
Policing
(Usage Paramer Control (UPC))
• The operation of the CAC and the correct allocation of resources depend heavily
on the guarantee that the traffic source will behave as expected, i.e., as described by
the traffic descriptor.
• Thus, a monitoring/policing function is needed to force the traffic to comply to the
traffic descriptor.
• This monitoring/policing function is performed by the UPC (policer).
• The UPC is a form of preventive congestion control.
• It enforces a certain cell arrival rate or “shape”, such that it does not exceed
certain values that would cause network elements to overload and lead to
congestion.
• A UPC usually consists of a counter-based mechanism that drops or marks data
units when they are found in violation of a certain CONTRACTUAL agreement
between end-user and the communication system.
• It does not use information from remote network elements.
• Instead it assumes that the locally available information about the cell arrivals is
sufficient to be used for congestion prevention in the network scale.
Leaky Bucket UPC
Token
Arrivals
(rate r)
Source
Cell arrivals
Token Bank
(capacity N)
Network
Cell arrivals
Cell dropped or
marked
Window-based UPC
Jumping Window
Window
Triggered Window
Window
Moving Window
Accepted cell
Dropped/Marked cell
17
Leaky Bucket
Each time a cell enters the network, it will put a token in the bucket
Source
Network
Bucket
Leak Rate (Draining Rate)
Bucket has finite capacity. If the buffer is full, the cell
cannot drop the token, then that cell is dropped.
From time to time the bucket will
Leak Rate
be emptied
18
Leaky Bucket (Cont.)
Version 1:
LB Severe
Discard the cell if there is no space in the buffer.
Version 2:
Illegal
Cell
Either discard the cell
or insert CLP (a tag as low priority)
or traffic shape (buffer)
• Do not discard the cell (if bucket is full) but MARK = TAG them !
For example: Set CLP=1 (Cell Loss Priority Low)
If network congested, it may happen that low priority
cells are discarded in the network.
• Put them in a buffer & send later !
Leaky Bucket Examples
Bucket Length is 6 units; Each arrival
4 units put in bucket; Conformance - Compliance; Leak rate = 1 unit/time
Input
Cell
Stream
0
1
2
3
4
5
6
7
8
9
10
11
12 13
14
15 16 17
18
19
20
18
19
20
Cell
Time
6
Bucket 4
Content 2
0
0
1
2
3
4
5
6
7
8
9
10 11
12 13 14
15
16
17
Non-conforming cells
Input
Cell
Rate
Cell
Time
0
1
2
3
4
5
6
7
8
9
10 11 12
0
1
2
3
4
5
6
7
8
9
10
13
14
15
16
17
18
19
20
6
Bucket 4
Content 2
0
11
12
13
14
15
16 17 18
19
20
19
CELL TAGGING (CELL MARKING)
In this case, a non-conformed cell with CLP = 0 may be tagged (marked)
with CLP =1 and passed. Such cells are then subject to discard at a later point
in the network in case of congestion.
TRAFFIC SHAPING (Buffering)
Non-Conforming
cells
Input
Cell
Stream
Shaping
Buffer
A
0
B
1
2
3
4
E
D
5
6
7
8
9
10 11
F
12 13 14
15
16
17
18
19
20
2
D
0
0
1
2
3
4
5
F
C
C
D
D
D
D
6
7
8
9
10 11
E
G
G
G
E
E
F
F
F
F
12 13 14
15
16
17
18
19
G
20
6
Bucket 4
Content 2
0
Shaped
Output
A
0
11
B
22
33
44
55
C
66
77
D
88
99
10 11
F
E
12
12 13
13 14
14
15
15
16
17
17
18
18
19
19
20
Cell
Time
SPACING
Non-Conforming
cells
B
Input
Cell
Stream
0
“Space”
Shaped
output
Stream
D
A
0
1
2
3
4
5
5
9
A
B
1
2
3
4
5
6
7
E
8
9
10 11
13
17
D
6
7
12 13 14
8
9
F
15
16
21
12 13 14
18
19
20
Cell
Time
Theoretical
Reemission
Time (TRT)
F
E
10 11
17
15
16
17
18
19
20
Space implements a virtual scheduling Algorithm which computes a Theoretical
Reemission Time (TRT) such that output never violates the nominal cell spacing, and discards
any input bursts that cannot be spaced out within a tolerance specified.
Space Output  Advantage: Delay Variation Controllable
Disadvantage: Cells from a burst can be discarded.
Generic Cell Rate Algorithm
The GCRA is reference algorithm for a cell rate which determines if a cell is conforming. The GCRA
is a relatively simple algorithm given as a flowchart in the following Figure.
Arrival of a cell k at time ta (k)
YES
TAT < ta(k)
X’= X - (ta(k) - LCT)
Non
Conforming
Cell
YES
TAT > ta(k) + L
NO
Non
Conforming
Cell
YES
X’=0
X’> L
No
X=X’+I
LCT = ta(k)
Conforming Cell
TAT = TAT + I
Conforming Cell
CONTINUOUS-STATE
LEAKY BUCKET ALGORITHM
VIRTUAL SCHEDULING
ALGORITHM
TAT: Theoretical Arrival Time
ta(k): Time of arrival of a cell
YES
X’< 0
TAT = ta(k)
I : Increment
L : Limit
X : Value of the Leaky Bucket Counter
X’ : Auxiliary Variable
LCT: Last Compliance Time
There are two different but equivalent representations of the GCRA: The Virtual Scheduling Algorithm (less commonly known )
and the Continuous-State Leaky Bucket Algorithm (commonly known).
Generic Cell Rate Algorithm (Cont.)
• The action of a leaky bucket can be dimensioned with two parameters: the
drain rate of the bucket (I) and the height of the bucket (L).
• The greater the drain rate, the faster the cells pour out of the bucket.
• The greater the height of the bucket, the more cells the bucket can buffer.
• If the cells are pouring too quickly into the bucket, the bucket will overflow
and cells will be lost.
• The algorithm defines a finite capacity bucket that drains at a continuous
rate of one per time unit and whose content is increased by I for each
conformed cell.
• The total capacity of the bucket is L. After the arrival of the kth cell at ta(k),
the algorithm checks to see if the bucket has overflown.
• If so, the cell is discarded. If not, the bucket is incremented.
• The amount of the increment depends on whether the bucket was fully
drained between cell arrivals.
Generic Cell Rate Algorithm (Cont.)
Remark:
The GCRA is a reference algorithm for
determining the cell rate conformance.
Earlier we have introduced different traffic
descriptor parameters such as PCR, SCR and BT.
How do we use the GCRA with these parameters?
Generic Cell Rate Algorithm (Cont.)
GCRA (I,L)
LB
GCRA (T, t )
GCRA (1/PCR, CDVT)
Cell Delay
Variance Tolerance
(Traffic Descriptors)
CDV-Tolerance: A source with a PCR of 10000 cells/sec should nominally
transmit cells within 100  sec. GCRA is used to determine if the
variation in the cell interarrival time is acceptable. GCRA (a, b)
e.g., GCRA (100  sec , 10 sec )
will allow cells to arrive no more than
10  sec earlier than their nominal scheduled time.
Nominal Intercell
Arrival Time
Allowed Variation
In the Intercell time
Generic Cell Rate Algorithm (Cont.)
EXAMPLE:
• Consider a Video-on-Demand service where the negotiated PCR = 50kcells/s
and the CDV Tolerance (t ) =50sec.
• The cells arrive at times as indicated by ta (k).
Note: GCRA(I,L) where I = T = 1/PCR = 20sec/cell and L = t = 50  sec.
GCRA(T,t)
Figure: Example of the GCRA
k
ta (k)
LCT(k)
X(k)
X’(k)
Co nforming
0
0s
0s
0s
0s
Yes
1
20s
25s
30s
0s
20s
25s
20s
20s
35s
0s
15s
30s
Yes
Yes
Yes
2
3
4
5
35s
30s
50s
45s
Yes
40s
35s
65s
60s
No
6
45s
35s
65s
50s
No
7
8
50s
55s
35s
35s
65s
65s
50s
45s
No
Yes
9
80s
50s
70s
40s
Yes
10
100s
80s
60s
40s
Yes
EXAMPLE
Initially k=0 X’=X-(ta(k)-LCT)=0
LCT= ta(k)
0
0
0
Yes
X=X’+I=20
X’<=0
Set X’=0
0 20
LCT= ta(k)=0
For k=1
X’=X-(ta(k)-LCT)=0
20 20
0
X’<=0
Set X’=0
X=X’+I=20
0 20
LCT= ta(k)=20
EXAMPLE (cont.)
For k=2
X’=X-(ta(k)-LCT)=15
20
20 25
5
For k=3
25
5
X=X’+I=35
15 20
X’=X-(ta(k)-LCT)=30
35 30
No
50
X’  L
No
15
LCT= ta(k)=25
<50
X=X’+I=50
30 20 LCT= t (k)=30
a
EXAMPLE (cont.)
For k=4
X’=X-(ta(k)-LCT)=45 <50
30
50 35
X=X’+I=65
45 20 LCT= t (k)=35
a
5
For k=5
Accept
X’=X-(ta(k)-LCT)=60 >50
35
65 40
5
Not accept
EXAMPLE (cont.)
For k=6
X’=X-(ta(k)-LCT)=55>50
65 45
For k=7
For k=8
35
10
X’=X-(ta(k)-LCT)=50
65 50
Not accept
Not accept
35
15
Accept
X’=X-(ta(k)-LCT)=45
X=X’+I=65
65 55 35
45 + 20
20
LCT= ta(k)=55
Derivation of B
(Max. No. of Back to Back Cells)
Objective: B = 1 + τ /(T-1)  is used for peak rate enforcement.
Variables : PCR : Peak Cell Rate : T=
1
PCR
t : Cell Delay Variation Tolerance (Early or late)
Note that T and t are measured in terms of the time required to
insert/transmit a cell
Derivation of B (cont.)
p
Time interval to insert one cell
i.e., is dependent on the link capacity.
e.g., 100 Mbps
53Bytes*8 = 424 = 4.24sec
100
100 Mbps
Peak Cell Rate  25Mbps
53 * 8
= 16.96 sec
6
25 * 10
Derivation of B (cont.)
How long does it take to generate 1 ATM cell using the
peak cell rate of 25 Mbps?
T = 16.96 sec
16.96
Assume 1 time slot represents 1 unit: T=
= 4
4.24sec
Every 4 time units we generate 1 ATM cell!
PCR=
1
T
0.25 cells per time unit
Derivation of B (Max. Number of Back-to-Back Cells)
GCRA(T,CDVT)  Peak Rate Enforcement
1/PCR t = CDVT (Cell Delay Variation Tolerance)
Objective: Derive B (Maximum Number of Cells which can be sent back-toback)
B = 1 + τ /(T-1) 
Theoretical
Arrival Time
(TAT)
T=4
T=1/PCR T=1/PCR
T=1/PCR
T=1/PCR
If τ=0 1 Arrival (Actual) B=1
Actual Arrival
Time of Cells
(t=8)
If τ=3 2 Arrivals (Actual) B=2
τ
If τ=6 3 Arrivals (Actual) B=3
If τ=9 4 Arrivals (Actual) B=4
SCR ENFORCEMENT
Sustainable Cell Rate (SCR) and Burst Tolerance (BT)
•SCR and BT are required for VBR traffic
• The SCR specifies the average cell rate over the period of
the connection
• The BT in conjunction with the SCR and the GCRA
determines the Maximum Burst Size (MBS) that can be
submitted at the PCR.
• GCRA(Ts, τs) where Ts = 1/SCR (Increment)
τs = BT (Burst Tolerance)
• Maximum Burst Size: Maximum number of back-to-back
cells that can be sent at the peak cell rate (PCR), but
without violating the SCR rate is called MBS.
• Burst Tolerance (BT): is the bound on the difference
between the TAT and the actual arrival time:
BT= (MBS-1) (1/SCR – 1/PCR)
• Actually, the MBS (in cells) and not the BT is sent in the
signalling message which must be translated into BT.
• During connection setup phase, a source is required to
specify MBS.
Derivation of MBS (Maximum Burst Size)
Objective: MBS is used for sustainable cell rate (SCR)
enforcement
Variables: T and τ are as defined before
SCR : Sustainable Cell Rate (SCR)
Ts =1/SCR
τs : Burst Tolerance (BT)
TAT
(Ts=6, T=4)
T
T
Actual Arrival
Time of Cells
T
T
T
T
T
(ts=6)
If τs=0  MBS=1  (Only 1 Burst Arrival)
If τs=2  MBS=2  (2 Burst Arrivals Back-to-Back)
MBS = 1 + τs /(Ts-T) 
If τs=4  MBS=3  (3 Burst Arrivals Back-to-Back)
MBS  1 + τs /(Ts-T) 
If τs=6  MBS=4  (4 Burst Arrivals Back-to-Back)
τs(MBS-1)[Ts-T]
SCR Policing
* If the inter-arrival time of cells is equal to or greater than Ts, then the cells are
compliant.
* However, some cells may arrive every T units of time where T<Ts, if they are
transmitted at PCR.
•Since these cells arrive every T units of time, they are in essence non-compliant as
far as GCRA is concerned.
* How many such cells should GCRA tolerate before it starts classifying them as
non-compliant?
SCR Policing
• The maximum number of cells that can arrive every T units of time is equal to the
source’s MBS minus the first cell that initiates the burst.
• That is, we expect a maximum of (MBS-1) cells to arrive (Ts-T) units of time faster.
• This gives a total time of (MBS-1)(Ts-T) which is the BURST TOLERANCE (BT).
Number of Back-to-Back Cells not to exceed the Peak Cell
Rate
τs  (MBS-1) [Ts-T]

MBS = 1 + τs /(Ts-T) 
1 
 1
t s  ( MBS  1)


 SCR PCR 
BT  t s  ( MBS  1)(TS  T )
UPC ACTIONS
(PEAK CELL RATE ENFORCEMENT
• The minimum cell interval (1/PCR) =T and the CDV Tolerance, t, are
the increment and the limit for the GCRA and are denoted as GCRA(T, t).
• Note that a different PCR can be stated for the CLP = 0 and the CLP = 0+1
streams which would be denoted as GCRA(T0 ,t ) and GCRA(T0+1 ,t ),
respectively.
• PCR is modeled as a leaky bucket drain rate, and CDV tolerance defines
the bucket depth for Peak Rate Conformance depending on either
the CLP = 0 or CLP = 0+1 ?
Peak Cell Rate for CLP=0+1 (Aggregate: High/Low Priority Cells)
Peak Cell Rate for CLP=0 (High Priority Cells)
UPC Actions
SCR ENFORCEMENT
GCRA(Ts, τs ) 
CLP=0 (High Priority Traffic)
CLP=0+1 (for all Traffic)
For flows  CLP=0  GCRA(Ts0, τs0)
1/SCR0 BT0
For flowsCLP=0+1  GCRA(Ts0+1, τs0+1)
SCR for CLP=0+1
SCR for CLP=0
UPC Actions
Simple Strategy: Conformed Cells
Non-conformed
Passed
Discarded
If two-level of priority is negotiated then,
Rules : - A cell with CLP = 0 conforming to traffic contract for CLP = 0 passes.
- A cell with CLP = 1 conforming to traffic contract for CLP = 1 passes.
- A cell with CLP = 0 that is non-conformed for CLP = 0 but conformed
for CLP = 0 + 1 passes.
- A cell with CLP = 0 that is non-conformed for CLP = 0 and non-conformed
for CLP = 0 + 1 discarded.
- A cell with CLP = 1 that is non-conformed for CLP = 0 + 1 is discarded.
Congestion Control Techniques
Congestion is defined as the condition where the offered load (demand) from
the users to the network is approaching, or exceeds the network design limit
for guaranteeing the QoS specified in the traffic contracts.
The situation can cause the ATM system:
• Become congested
• Stop Working
• Cells can be lost/damaged
Require re-transmission of several thousand cells to correct the problem.
When the system approaches full capacity, file/data traffic cell loss retransmission causes rapid falloff of the carried load. This condition rapidly
reduces carried load. This condition rapidly reduces carried load and causes
throughput collapses
Motivation for a New Congestion Control
Example: 100Mbps, 100km apart
A
B
Assume Signal Prop. Delay: 5 usec/km
4usec to transmit an ATM cell (53*8)/100 = 4 usec
It will take 500 usec.
In this time frame, source fills the link roughly 125 cells of
data
NAK
NY
LA
1 Prop. Delay = 15 msec
Within 15msec the LA can pump in 15 million cells into the network
(assume NY is not ready and sends a NAK packet)
First bit of NAK packet will need 15 msec to reach LA.
Within those 15 msec, the source in LA can pump in 15 million more
cells into the network!!
30 million cells to NY
Feedback based mechanisms cannot be applied in
high speed, high bandwidth networks!!!
Propagation Delay is a Killer!!
Propagation Delay
Time it takes the
first bit travels through the network &
shows at the destination!
Congestion Control Techniques
Credit-Based
Approach
Early Proposals
(
(
Delay Based
Congestion
Influence
(Fujitsu)
(BNR,
(IBM,
DEC,
Motorola,
FORE,
22 companies)
ASCOM,
Backward
Explicit
Congestion
Notification
TIMEPLEX,
MITSUBISHI,
Fair
Queueing
and Buffer
Feedback
Xerox
Cisco
(
(
Fast Resource
Management
France
Telecom
Rated-Based
Approach
HARVARD Univ. )
Early
Packet
Discard
(Sun)
Credit Based Flow Control
It is based on per-link, per-VC, window flow control.
Host2
Credit
VC1
Host1
VC2
Hop by hop
flow control
Data
Credit
Data SW1
VC Buffer
Host3
SW2
Fig. Per-link, per-VC window flow control
• Each link consists of a sender node (which can be source end system or
switch) and a receiver node (which can be switch or destination end
system).
• Each node maintains a separate queue for each VC.
• Receiver node initially sends a credit to the sender node equal to the
buffer length.
• From now on, a sender node can transmit only as many cells on VC as
equal to the credits it has from the receiver.
• Whenever a sender transmits a cell, its credit window is reduced by
one.
• When a node receives cells, it sends new credits to the sender.
• This ensures that the buffer at the receiver will never overflow.
Two Problems
1. If credits are lost, the sender will not know it.
2. Each VC needs to reserve the entire round trip worth of buffers.
 Solved by Credit Resynchronization Algorithm
Sender & receiver both have counts of cells sent and
received for each VC & periodically exchange the
counts (Catch the lost cells).
(FCVC
Flow Controlled Virtual Circuits)
Adaptive
FCVC
Rate-based Flow Control
• Uses end-to-end flow control with explicit binary feedback from the
network.
• When the first bit of the PT (payload type at the cell header) is zero, the
second bit called ”Explicit Flow Control Indication (EFCI) bit” is used to
indicate whether the network is congested or not.
• When a cell is transmitted, the source sets EFCI = 0.
• If any switch detects congestion based on its queue length (or the trend
of increase of its queue length), it sets EFCI = 1.
• The destination periodically monitors the EFCI bits of the cells received
on the VC and sends an RM (resource management) cell back to the
source.
Rate-based Flow Control (cont.)
• If the source is informed of congestion in the VC path then it decreases
its rate by some factor (Multiplicative Decrease), else it increases its rate
by some constant (Additive Increase).
• Two variations
whether an RM cell should be used to indicate
congestion or absence of congestion.
• In the negative polarity of feedback approach, an RM cell is used to
indicate congestion, and the source decreases its rate upon receiving one.
• In the positive polarity of feedback approach the destination sends
an RM cell to the source to indicate absence of congestion.
• If during an indication interval, the source does not receive any RM
cell, then it assumes congestion on the VC’s path.
Credit vs. Rate Based Flow Control
Much debate has gone into the merits and demerits of these schemes.
• Per-VC Queueing: The main drawback of the credit based approach is that
it requires a separate queue for each VC (either statically or adaptively
allocated from the total buffer). Though this allowed better monitoring of
the VCs, this approach is not scalable in the number of VCs.
Rate based scheme can work both with or without per VC queueing.
• Switch Design Flexibility: The credit-based approach is not flexible in as
much as that it requires each switch to have per-VC queueing with roundrobin schedule. There is no such requirement with rate-based approaches.
• Estimation of Delay: The credit based approach requires an estimation of
the round trip delay. Knowing round trip delay is not essential for ratebased schemes, though it might be an advantage.
Credit vs. Rate Based Flow Control (cont.)
• Isolation of Misbehaving Users: An advantage of per-VC queueing is that
each VC is isolated from the other. The rate-based approach can also get
this benefit by implementing per-VC queuing.
• No Cell Loss: In the credit based approach, there are no cell losses due to
congestion. However, in the rate based approach, cells may be dropped by
the congested switches.
However, finally the ATM Forum adopted the rate-based approach due to
the non-scalability of per-VC queuing of the credit-based approach and
the greater flexibility of the rate based approach. (October 1995)
ABR Flow Control
• At connection time user will negotiate a PCR (Peak
Cell Rate) along with an MCR (Minimum Cell Rate)
(can be 0)
• User cannot exceed PCR
• Network guarantees MCR
• Both (PCR & MCR) are defined for GCRA
Protocol Operation
Source initiates an ABR VCC (as Call Setup (Signalling))
Source Specifies:
PCR
MCR
ICR
ACR
RIF
RDF
Nrm
: Peak Cell Rate in cells/sec
: Minimum Cell Rate in cells/sec
: Initial Cell Rate (Startup Rate)
: Allowed Cell Rate (Current Permitted Transmission Rate)
: Rate Increase Factor (Permitted Rate Increase)
: Rate Decrease Factor
: Number of cells between RM cells
TBE : Transient Buffer Exposure: Number of cells transmitted by
source before receiving RM cell.
FRTT : Fixed Round Trip Time: Estimate the round trip time for
sending an RM cell from the source to destination & back
Parameter definitions and usage:
PCR: The desired PCR is requested by the source at cell set time and the
signaling response provides the maximum allowed PCR for this
connection. The network will most likely reduce PCR down to the lowest
line in the path.
MCR: The MCR desired by the source is requested at the call setup. The
network may not support MCR and return zero or clear the call. If it is
supported, the network will return the maximum MCR it can support
between the requested and desired.
ICR: The Initial Cell Rate desired by the source is selected at cell setup.
The network will return ICR, the highest rate possible up to that
requested. ICR is also the startup rate after idle periods.
AIR: Additive Increase Rate is required by the source at call setup. The
network will return ICR, the highest rate possible up to that requested.
Parameter definitions and usage (cont.):
Nrm : The number of cells, to be transmitted per RM-cell sent is
determined by the network at call setup. Large values of Nrm will reduce
line overhead but reduce the tightness of the control loop.
Mrm : Mrm is used by the destination to control allocation of bandwidth
between forward RM-cells, backward RM-cells and data cells.
RDF : The Rate Decrease Factor is determined by the network at call
setup. The larger the RDF, the smaller the decreases in rate.
ACR : The Allowed Cell Rate the source is using to control its cell
transmission for a VC.
Xrm : To protect the network, the source must decrease its rate, ACR if
more than Xrm RM-cells have been sent since the last backward RM-cell
was received or since the last decrease due to this condition.
Table ABR PARAMETERS
Label
Name
PCR Peak cell rate
MCR Minimum cell rate
ICR Initial cell rate
RIF
Nrm
Mrm
RDF
ACR
Description
Fixed upper limit on source rate
Lower limit on source rate by network
Initial value of ACR; rate at which source
should send initially and after an idle period
Rate increase factor Amount by which cell transmission rate may
increase upon receipt of an RM cell
Maximum number of cells a source may
send for each forward RM cell
Controls allocation of bandwidth between
forward RM cells, backward RM cells, and
data cells
Rate decrease factor Multiplicative factor that controls the
decrease of cell transmission rate
Allowed cell rate
Current upper limit on source rate; adjusted
by feedback within the range of MCR to PCR
Default
0
PCR
1/16
32
2
1/16
-
Table ABR PARAMETERS (Cont.)
Default
Description
219-1
Number of forward RM cells that may be
sent in the absence of received backward
RM cells
0.5 ms
ADTF ACR decrease time Time allowed between sending RM cells
before the rate is decreased to ICR
factor
Upper bound on the time between consecutive 100 ms
Trm
forward RM cells for an active source
FRTT Fixed round-trip time Sum of the fixed and propagation delays from
source to destination and back
224-1
Negotiated number of cells that source can
TBE Transient buffer
send initially before first RM cells returns
exposure
CDF Cutoff decrease factor controls decrease in ACR in combination with 1/16
CRM
10 cells/s
Upper limit on rate at which a source may
TCR Tagged cell rate
send out-of-rate forward RM cells
Label
CRM
Name
Resource Management Cell Format
Octets
5
ATM header
Bits
1
1
2
2
Protocol identifier
Message type
Explicit cell rate
2
Minimum cell rate
4
Queue length
4
Current cell rate
Sequence number
Reserved
10 bits
CRC-10
Direction
Request/ACK
1
1
1
1
1
Reserved
3
BECN cell
Congestion indication
No increase
RM Cell Format
• Header ( 5 octets):
The ATM header has PT = 110 to indicate an RM cell. For rate control
on a virtual channel, the VPI and VCI are identical to those of data
cells on that connection. For rate control on a virtual path, the same
VPI is used and VCI = 6.
• Protocol Identifier (1 octet):
Describes the function of the RM cell. For ABR, ID =1.
RM Cell Format (continued)
• Message Type (1 Octet):
Direction (DIR):
FRM (DIR = 0) or BRM (DIR = 1). The DIR field indicates the
direction of the RM cell with respect to the data flow which it is
associated with. The source sets DIR = 0 and the destination sets
DIR = 1.
BECN Cell (BN):
Indicates cell initially generated by source (BN = 0) or by a switch
or destination (BN = 1). A Backward Explicit Congestion
Notification (BECN) RM-cell may be generated by the network.
When it does, it must set the BN = 1 to indicate the cell is switch
generated, and DIR = 1 to indicate the backward flow. Source
generated RM cells should have BN = 0.
RM Cell Format (continued)
Congestion Indication (CI):
(CI = 1) indicates congestion.
(CI = 1) is used to cause the source to decrease its ACR.
The source sets CI = 0 when it sends an RM cell.
No Increase (NI):
(NI = 1) indicates no additive increase allowed.
The NI bit is used to prevent the source from increasing its ACR.
In contrast to CI=1, NI=1 does not require any decrease.
This is typically used when a switch senses impending congestion.
Request/Acknowledge (RA):
Not used in ATM Forum ABR.
RM Cell Format (continued)
• Explicit Cell Rate (2 Octets):
Used to limit the source ACR to a specified value. It is initially set by
the source to request rate (such as PCR). It may be subsequently
reduced by any network element in the path, to a value that the
element can sustain.
• Current Cell Rate (2 Octets):
Set by source to its current ACR when it generates a forward RM
cell. This may be useful to network element in determining a value
for ER.
• Minimum Cell Rate (2 Octets):
Set by source to the negotiated value for the connection. May be
useful to network element in allocating capacity among connections.
RM Cell Format (continued)
• Queue Length (4 Octets):
Not used in ATM Forum ABR
• Sequence Number (4 Octets):
Not used in ATM Forum ABR
• CRC - 10 (10 bits):
An error detection code that covers the RM payload (entire cell
except for header).
INITIAL VALUES OF RM CELL FIELDS
Field
If source
generated
Direction (DIR)
0
If switch or
destination
generated
1
BECN Cell
(BN)
Congestion
Indication (CI)
No Increase
(NI)
Explicit Cell
Rate (ER)
Current Cell
Rate (CCR)
Minimum Cell
Rate (MCR)
0
1
0
0 or 1
0 or 1
0 or 1
<= PCR
parameter
ACR
parameter
MCR
parameter
Any rate value
0
0
THE ABR CONGESTION CONTROL ALGORITHM
Initially, ACR = ICR,
The first cell to transmit is an RM cell. Then send one RM cell
for every (Nrm – 1) data cell.
Adjust ACR dynamically based on feedback from the network.
Resource Management Cells (RM cells) are sent back.
Each RM cell contains
•
Congestion Indication (CI) Bit
•
No Increase (NI) bit
•
Explicit Cell Rate (ER) field
THE ABR CONGESTION CONTROL ALGORITHM
TWO MODES: BINARY FEEDBACK or EXPLICIT RATE FEEDBACK
1. BINARY FEEDBACK
* Each source sends its data cells with the EFCI=0 to indicate no congestion.
* RM cells that are sent periodically (i.e., every Nrm cells) also have the CI=0.
* Each switch along the connection monitors the link congestion status
continuously.
* If the queue level exceeds a certain threshold, the switch sets EFCI=1.
* When data cells with EFCI=1 is received by destination, it sets the CI=1
in the backward RM cell indicating the congestion in the forward path.
If CI = 1, reduce ACR by an amount proportional to current
ACR but not less than MCR, i.e.,
Exponential decrease by (RDF . ACR)
(RDF: Rate Decrease Factor).
Else (i.e., CI=0) if NI = 0, increase ACR by an amount
proportional to PCR but not more than PCR, i.e.,
Increase by (RIF . PCR) with (RIF: Rate Increase Factor).
If NI=1, do not change ACR.
2. EXPLICIT RATE FEEDBACK
* First mode tends to converge slowly and oscillate widely around the operating point.
* This convergency problem is solved by this mode where each switch explicitly
indicates the desired rate in the RM cell that passes through.
* Each source puts the rate at which it would like to transmit cells in ER field of FRM.
* The value of the ER field is set to PCR initially.
* Any switch along the path may reduce the ER value to the desired rate that it can
support.
* A switch must not increase the ER value since doing so will ignore the value set by the
congested switch.
* If the destination is also congested it may also reduce the ER value before returning
the RM cell to the source.
•When source receives the BRM cell, it adjusts its transmission rate such a way not to
exceed the ER value.
If ACR > ER, set ACR = max {ER,MCR}.
If ER > ACR, ACR = ER
NI
CI
ACTION
0
0
ACR = max [MCR,min (ER,PCR,ACR+RIF*PCR)]
0
1
ACR = max [MCR,min (ER,ACR *( 1 – RDF))]
1
0
ACR = max [MCR,min (ER,ACR)]
1
1
ACR = max [MCR,min (ER,ACR *( 1 – RDF))]
ACR
When CI=1 in received RM
cell, source must decrease its
ACR by (RDF . ACR) down
to a minimum of MCR
PCR
ICR
MCR
Time
When an RM cell with
(CI=NI=0) is received, the
source may increase its ACR
by RIFPCR, up to PCR
If ACR is greater than ER in
received RM cell, source
must decrease its ACR to
max{MCR, ER}
Flow of Data and RM Cells
on an ABR Connection
Cell transmission
rate=ACR RM cell
transmission every
(Nrm-1) data cells
Congestion point: set
EFCI of a data cell
Forward RM
Modify ACR based
on CI, NI, and ER
Data cell
Return the RM cell.
If congested, reduce
ER. If EFCI is set,
set CI
Backward RM
Congestion point:
reduce ER or set
CI or NI
Destination:
End system
Cell Flow
Two Types of ATM cells: Data Cells, Resource Management Cells
Adjusting the rate of cell transmission:
Source receives regular sequence of RM cells that provide feedback to
enable it to adjust its rate of cell transmission
• FRM (Forward RM Cell): Source to Destination
 Bulk of the RM cells initiated by the source
 Transmitted for every Nrm -1 data cells
 Contains CI = 0, NI = 0 or 1 and ER with ( ICR <= ER <= PCR )
( These values are updated by ATM switch or destination. )
• BRM (Backward RM Cell): Destination to Source
The FRM cell received at the destination, transmitted back to the source.
ATM Switch Providing Rate Control
Feedback to a Source
At least one of the following methods is implemented in an ATM Switch
• EFCI Marking: Switch sets the EFCI in an ATM data cell header
causes destination to set the CI bit in a BRM cell.
• Relative Rate Marking: Switch directly sets the CI=1 or NI=1 bit
of passing Forward/Backward RM cells.
(BINARY MODES)
• Explicit Rate Marking: Switch reduces the value of the ER field
in Forward/Backward RM cells. (EXPLICIT RATE MODE)
APPENDIX:
Exact Steps of ABR Control
• Source Behavior:
The following items define the behavior for CLP=0 and CLP=1 cell
streams. By convention, the CLP=0, stream is referred to as in-rate, and
the CLP=1 stream is referred to as out-of-rate. Data cells shall not be
sent with CLP=1
1. The value of ACR shall never exceed PCR, nor shall it ever be less than
MCR. The source shall never send in-rate cells at a rate exceeding ACR.
The source may always send in-rate cells at a rate less than or equal to
ACR.
2. Before a source sends its first cell it shall set ACR to at most ICR. The
first in-rate cell sent shall be a forward RM-cell.
Exact Steps of ABR Control (cont.)
3. After the first in-rate forward RM cell, in-rate cells shall be sent in
the following order:
a. The next in-rate cell shall be a forward RM-cell if and only if, since
the last in-rate forward RM-cell was sent
i. Either at least Mrm in-rate cells have been sent and at least Trm
cells have elapsed, or
ii. Nrm-1 in-rate cells have been sent.
b. If the saved EFCI state is set, then the destination shall set CI=1 in
the RM-cell, and saved EFCI state shall be reset.
c. The destination having internal congestion may reduce ER to
whatever rate it can support and/or set CI=1 or CI=0
d. CRC field is recalculated.
Exact Steps of ABR Control (cont.)
4. If a destination can not retransmit a waiting backward RM-cell before it
receives a subsequent forward RM-cell to be turned around on the same
VC, it is referred to overwrite the old RM-cell information with the more
recent information.
5. When a destination turns-around a received RM-cell, if the last data cell
received since the prior RM-cell was turned around had EFCI=1, then the
destination will mark the resulting backward RM cell by setting CI=1.
6. The destination may further reduce ER to whatever rate it can support
and/or set CI or NI equal to 1.
7. A destination can generate a backward RM-cell without having received
a forward RM-cell. The rate of these backward RM-cells shall be limited to
10 cells/second.
8. When a forward RM-cell with CLP=1 is turned around it may be sent
in-rate (with CLP=0) or out-of-rate with CLP=1.
Exact Steps of ABR Control (cont.)
• Switch Behavior:
1. A switch shall implement at least one of the following methods
to control congestion at queuing points:
a. The switch may set the EFCI flag in the data cell headers
(EFCI marking)
b. The switch may set CI=1 or NI=1 in forward and/or
backward RM-cells (Relative Rate Marking).
c. The switch may reduce the ER field of forward and/or
backward RM cells (Explicit Rate Marking).
d. The switch may segment the ABR control loop using a
virtual source and destination (VS/VD control).
Exact Steps of ABR Control (cont.)
2. A switch may generate backward RM-cells. The rate of switchgenerated backward RM-cells shall be less than 10 cells/second/VC.
When a switch generates an RM-cell it shall set either CI=1 or NI=1,
shall set BN=1, and shall set the direction to backward.
3. RM-cells may be serviced out of sequence w.r.t data cells. Sequence
integrity within RM-cell stream must be maintained.
b. The next in-rate cell shall be a backward RM-cell if condition (a)
above is not met, if a backward RM-cell is waiting for transmission,
and if either
i. no in-rate backward RM-cell has been sent since the last in-rate
forward RM-cell, or
ii. no data cell is waiting for transmission.
Exact Steps of ABR Control (cont.)
4. Cells sent in accordance with source behaviors 1, 2, and 3 shall
have CLP=0.
5. Before sending a forward RM-cell, if the time T that has elapsed
since the last in-rate forward RM-cell was sent is greater than
TOF*Nrm cell intervals and if ACR>ICR, then:
a. ACR shall be reduced by at least ACR*T*TDF, unless that
reduction would result in a rate below ICR, in which case ACR
shall be set to ICR, and TDF is equal to TDF/RDF times the
smallest power of 2 greater or equal to PCR.
b. ACR shall not be increased upon reception of the next
backward RM-cell.
Exact Steps of ABR Control (cont.)
6. Before sending an in-rate forward RM-cell, and after adjusting
ACR, according to #5 above, if at least Xrm forward RM-cells have
been since the last backward RM-cell with BN=0 was received, then
ACR shall be reduced by at least ACR*XDF.
7. If ACR is reduced according to #5 or #6 above, the new ACR value
shall be placed in the CCR field of the outgoing forward RM-cell, but
only in-rate cells sent after the out-going forward RM-cell need to follow
the new rate.
8. When a backward RM-cell is received with CI=1, then ACR shall
be placed by at least ACR*Nrm/RDF, unless that reduction would result
in a rate below MCR, in which case ACR shall be set to MCR. If the
backward RM-cell has both CI=0 and NI=0, then the ACR may be
increased by than AIR*Nrm, to a rate not greater than PCR.
Exact Steps of ABR Control (cont.)
9. When a backward RM-cell is received, and after ACR is adjusted
according to Source behavior # 8 , if ACR is greater than ER from the
RM-cell, then ACR shall be reduced to no greater than ER, unless ER is
less than MCR, in which case it is set to MCR.
10. Forward RM-cells may be sent out-of-rate (i.e., not conforming to
the current ACR). Out-of-rate forward RM-cells shall not be sent at a
rate greater than TCR.
Exact Steps of ABR Control (cont.)
• Destination Behavior:
1. When a data cell is received, the destination shall save the EFCI
state (per VC).
2. On receiving a forward RM-cell, the destination shall turn
around the cell to return back to the source. The RM-cell fields shall
be unchanged except:
a. The direction bit, DIR, shall be changed from ‘FORWARD’
to ‘BACKWARD’.
Exact Steps of ABR Control (cont.)
Virtual Source/Virtual Destination Behavior:
1. An ABR connection may be divided into two or more separately
controlled ABR segments.
2. Each ABR control segment, except the first, is sourced by a virtual
source. A virtual source assumes the behavior of an ABR source end
point. Backward RM-cells received by a virtual source are removed
from the connection.
3. Each ABR control segment, except the last, is terminated by a
virtual destination. A virtual destination assumes the behavior of an
ABR destination end point. Forward RM cells received by a virtual
destination shall be turned around as defined in #2, and shall not be
forwarded to the next segment of the connection.
4. The coupling between two adjacent ABR control segments
associated with an ABR connection is implementation specific.
WHY SCHEDULING?
Schedule Transmission of packets (cells) on an
outgoing link to meet QoS requirements.
Problem:
1
Scheduler
2
N
Difficulties:
• Multiple Constraints (delay, bandwidth, jitter,
low rate).
• Complexity of Implementation (Must be able to
implement in a real switch)
Note:
Since ATM has fixed length cells, integer computations
can be used. IP has variable length packets, floating
point computations are needed.
Objectives of Traffic Scheduling
• Select for each outgoing link the next packet for transmission.
• Meet QoS requirements of different applications.
– Isolation for real-time traffic
– Sharing of link-bandwidth for best-effort traffic
• Utilize both output link bandwidth and switch resources.
Network Model
Source
Switch
Switch
Destination
Flow
…
Shaper
Policer
(optional)
Scheduler +
optional shaper
Policer
(optional)
Scheduler +
optional shaper
Scheduling Disciplines
•
Work-Conserving Scheduling Disciplines
– Virtual Clock
– Fair Queueing
– Fluid Fair Queueing
– Weighted Fair Queueing (WFQ)
– Packet Generalized Processor Sharing (PGPS)
–
–
–
–
Worst Case Fair Weighted Fair Queueing (WF2Q)
Delay Earliest-Due-Date
Self -Clocked Fair Queueing (SCFQ)
Rotating Priority Queue (RPQ)
• Non-Work-Conserving Scheduling Disciplines
–
–
–
–
Jitter Earliest-Due-Date (Jitter EDD)
Stop & Go Queueing
Hierarchical Round Robin
Burst Scheduling
Virtual Clock
• Basic
Idea:
• Each cell is allocated a Virtual Transmission Time (Virtual Clock
Value) which is the time at which the cell would have been transmitted
where the server is actually doing TDM.
• Each source specifies the average rate (AR) and the average
interarrival time for cells for each connection i.
• The average inter-arrival time is Vticki  1 / ARi
i.e., Vticki is the allocated cell inter-arrival time for connection i
• The Virtual Clock (VC) emulates Time Division Multiplexing (TDM)
• Instead of a finish number, a timestamp,
auxVCik
is generated and
stamped on the incoming cell, i.e., each cell is assigned a virtual clock
value.
Virtual Clock
• AuxVC Calculation
AT is the cell arrival time
auxVCik   max{ AT , auxVCik }
auxVCik  auxVCik  Vticki
Stamp cell with auxVCik
Each switch has a state variable associated with each channel to monitor and
enforce the rate for the channel.
auxVC: Auxiliary Virtual Clock Value used as Priority of Indices.
Cells are served in the order of increasing priority index. i is (connection)
channel number and k is the switch number.
Virtual Clock (Cont.)
• First cell of connection i arrives at
auxVCi
(real time).
• All other cells auxVCi = auxVCi +Vticki
• [Enqueue Cell, <auxVCi >]
(k is omitted!)
• Cells are transmitted in the increasing order of virtual clock times.
• Properties
• Virtual Clock value of a cell depends only on the arrival history of
the connection. This value is used by variable auxVC.
• Virtual Clock may punish misbehaved user even if the misbehaving
user does not effect the performance of other connections.
Virtual Clock Example
3 connections sharing the same link:
Connection 1 (Source S1): 50% BW => Vtick1 = 2
Connection 2 (Source S2): 20% BW => Vtick2 = 5
Connection 3 (Source S3): 20% BW => Vtick3 = 5
Transmission of a cell takes 1 time unit. Assume that connections 2 and 3 send cells at
higher rate than reserved. Connection 1 obeys the contract.
s1
s2
s3
0
1
2
3
4
Procedures of Virtual Clock:
t=0
t =1
t=2
aux VC2 = max{AT21, aux VC20} + Vtick2 = 5
aux VC3 = max{AT31, aux VC30} + Vtick3 = 5
aux VC2 = max{AT22, auxVC21} + Vtick2 = 10
aux VC3 = max{AT32, aux VC32} + vtick3 = 10
aux VC1 = max{AT11, aux VC10} + Vtick1 = 4
aux VC2 = max{AT23, aux VC23} + Vtick2 = 15 … ...
Virtual Clock Example (Cont.)
How cells come out ?
t=0
52
53
t=1
102 103
52
t=2
152 153 102 103 41
41
t=3
152 153 102
103
Bottom-line:
Although connections 2 and 3 send cells at higher rate, virtual clock
algorithm ensures that well-behaving connections get good
performance.
Fair Queueing
If each connection defines a separate FCFS queue and k of these queues are
currently not empty, then each non-empty queue receives 1/k-th of the link
(server) bandwidth.
1
2
C
3
• Fair Queuing (FQ) is an adaptation of Processor Sharing (PS) for communication
networks.
• The server capacity “Sharing” can be achieved using bit-by-bit Round Robin (RR).
However, RR is impractical esp. in the context of communication networks.
• Different bandwidth demands can be expressed using relative weights.
• Since the server cannot be preempted, service must be shared on a packet (cell)
basis (the time-slice granularity is a packet (cell)).
Fluid Fair Queueing
• There is a separate FCFS queue for each connection sharing the same link
• FFQ allows different connections to have different service shares
i.e., FFQ server serves each non-empty queue at a rate proportional
to their allocated bandwidth simultaneously
• FFQ is characterized by N positive real numbers a1 a2 …. an each corresponding
to one queue.
a1
a2
a3
C
At any time, t, the service rate ri for a non-empty queue i is exactly
ri 
ai
C
aj
jBt
Bt is the set of non-empty queues at time t.
C is the link speed.
Thus, connection i is guaranteed a minimum service rate ri
during any interval when it is backlogged.
FFQ (Ctnd)
FFQ is a general form of HOL (Head of the Line) Processor
Sharing Service Discipline (HOL-PS)
HOL-PS
FIFO Queue
Connection 1
Connection 2
When there are exactly
N non-empty queues, the
server serves the N cells
at the head of the queues
simultaneously, each at a
rate of 1/N th of link
speed.
Connection N
While HOL-PS serves all non-empty queues at the same rate, FFQ allows
different connections to have different SHARES.
Fluid Fair Queuing (Cont.)
• FFQ serves the non-empty queues in proportion to their
service shares.
• FFQ is impractical as it assumes that servers can serve all connections
with non-empty queues simultaneously & that the traffic is infinitely
divisible.
Reality Only one connection can receive service at a time & an entire cell
must be served before others can be served.
Approximate FFQ
• Weighted Fair Queueing (WFQ)
• Packet Generalized Processor Sharing (PGPS)
Weighted Fair Queueing (WFQ)
Rule: The first cell that would complete service in the
corresponding FFQ system is served first.
Example
• There are 11 connections
• Link Speed is 1
• All cells have the same size of 1
• Guaranteed rate for Connection 1 is 0.5
• Guaranteed rate for Connection 2-11 is 0.05
• Connection 1 creates 11 back to back cells while 2 - 11 connections create only
1 cell at time 0.
1
2
3
…
11
0
First Come First Served Order
Under FCFS, one cell from each connection is served then the
remaining 10 cells of connection 1 are served
11
21
31
41
51
61
71
81
91
101
111
12 13
14 15
16
17
18
19
110
111
Fluid Fair Queueing (FFQ) Order
p111
C1
C2
C3
C4
C5
C6
C7
C8
C9
C10
C11
0
10
20 21
FFQ will take 2 time units to service each of the first 10 cells on connection
1, 1 time unit to service the 11-th cell from connection 1 and 20 time units to
9
service the first cell from other connections.
Fluid Fair Queueing Order (Cont.)
k
If we denote the k-th cell on connection j as p j , then the start and finish
times of cells in FFQ system are:
Start Time
Finish Time
Cell
2 ( k-1)
2k
p1k for k = 1,…10
20
21
p111
0
20
p 1j for j = 2, …11
Weighted Fair Queueing (WFQ) Order
p110
p111
C1
C2
-
C3
C4
C5
C6
C7
C8
C9
C10
C11
0
10
20
WFQ Order (Ctnd)
Explanation of the Example
• At time 0, all 11 connections have cells backlogged.
1
1
• Since p1 finishes at time 2, while all other pi (for i=2,…11) cells finish
1
at time 20 in the corresponding FFQ system, WFQ will serve p1 first.
• Note that the entire capacity (C=1) at the server will be allocated to serve
each cell.
• Then the first 10 cells on connection 1 will be served back-to back
because they all have finishing times smaller than the cells in all other
connections in the corresponding FFQ system.
• If we adopt the tie-breaking rule where cells from connection with
smaller number are served first, then cells pi1 for i = 2,…..,11 will be
served in increasing order.
Worst Case Fair Weighted Fair Queueing (WF2Q)
While WFQ uses only finish times of cells in the corresponding FFQ
system, WF2Q uses both START TIMES and FINISH TIMES of cells in
the corresponding FFQ system.
WF2Q Example
p111
-
C1
C2
C3
C4
C5
C6
C7
C8
C9
C10
C11
0
10
20
1
• At time t=0, the first cells p i in all connections (i=1,…,11), start their service in
the corresponding FFQ system.
• Among them, p11 has the smallest finish time in the corresponding FFQ system, so
it will be served first in WF2Q.
• Note that also here the entire capacity of the server will be allocated to this cell.
2
1
•At time t=1, there are 11 cells at the head of each queue, i.e., p1 and p i
i=2,….,11.
for
WF2Q Example (Cont.)
2
• Although p1 has the smallest finish time, it does not start service in
the corresponding FFQ system until time t=2.
• Thus, the cell p12 is not eligible for service at time t=1.
• Since the first cells in each of other connections i=2,….,11, start their
service at time t=0 and finish at time t=20 in the corresponding FFQ
system, then any of them can start to receive service.
• Using the tie-breaking rule, i.e., priority to connection with smaller
number, p12 is chosen to be the next cell to serve at time t=1.
• At time t=2, p12 , starts to receive service because it has smallest finish
time among all cells in the corresponding FFQ system.
Hierarchical Round Robin (HRR)
• The HRR server has several service levels, where each level provides
round-robin service to a fixed number of slots.
• A slot in one level can either be allocated to a connection or to a lower
level frame.
• A connection is allocated a certain number of slots at each frame.
• The source cannot use more slots than assigned to, say aj at a given
round.
• The frame time , FTi, for level i , is defined as the time (in units of cell)
between two services of the first slot of frame i.
• Traffic rate of connection j at level i is
aj /FTi
cells/sec.
Hierarchical Round Robin (HRR) (Cont.)
Level 2
Within each level of RR scheme,
each connection has some
reservation.
• Level 1: Cycle time for 1 round
is 10 buffers.
• Level 2: Cycle time for 1 round
is 100 buffers.
Frame Time of each Level
Level 1
1 2 3 … 10
1 2 3 … 10
1 2 3 … 10
Level 2
1
2
3
Level 1
1
2
3
4 10 cycles
5
6
7
8
9
1
2
3
4
5
6
7
8
9
10
10
100 cycles
Example:
FT1 = 10
FT2 = 100
a1 = 2
a1
2 Cells

FT 1 10 Slots
The lower is the layer, the smaller is the BW
requirements (the finer is the granularity).
Hierarchical Round Robin (HRR) (Cont.)
Properties
• Peak traffic rate is enforced inside the network.
• The delay and the bandwidth allocation granularity are coupled.
• There is no jitter guarantee for the connections.