135
4. TRAFFIC MANAGEMENT

4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

Embed Size (px)

Citation preview

Page 1: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

4. TRAFFIC MANAGEMENT

Page 2: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

Traffic Control

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 DESCRIPTORQoS

AdmissionControl

Connection Setup Phase Connection Phase

Source

Policing

Traffic PolicedTraffic

NetworkSource

Page 3: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

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 = in seconds.

The number of cells, B, that can be sent back-to-back at the access line is

B =

1T

τ1

Page 4: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

Source Behavior

CBR

VBR

time

time

Burst Duration

CellInterarrivalTime

Burst to BurstInterval

CellInterarrivalTime

Call Duration

Call Set-up Call Tear-Down

Page 5: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

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

Page 6: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

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.

Traffic Descriptors

(Specified for VBR Connections)

Page 7: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

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.

SCR

Page 8: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

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.

Page 9: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

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 Average Rate (Mb/s)

11.75 3.0 14.42 4.2 44.7 16.8

PCR

Page 10: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

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)

Page 11: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

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) =

=Cells Errored dTransmitte lySuccessful

Cells Errored

Page 12: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

Severely Errored Cell Block Ratio (SECBR)

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.

Cell Misinsertion Rate (CMR)

Cell mis-insertion 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.

Blocks Cell dTransmitte Total

Blocks Cell Errored-Severely SECBR

Interval Time

Cells dMisinserte CMR

QoS PARAMETERS

Page 13: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

Table of Procedures Used to Set Value of Traffic Contract Parameters

Explicitly Specified Parameters Implicitly Specified Parameters

Parameter Values set at Connection-Setup Time

Parameter Values set at Subscription Time by the

Network Operator

Parameter Values set Using

Default Rules

Requested by Users/NMS Assigned by Network Operator

SVC

PVC

Signaling

NMS

By subscription

By subscription

Network-operator default rules

Network-operator default rules

SVC = Switched Virtual ConnectionPVC = Permanent Virtual ConnectionNMS = Network Management System

Page 14: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

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

Page 15: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

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.

Page 16: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

QoS Classes:

QoS Class QoS Parameters Application

0

1

2

3

4

Unspecified

Specified

Specified

Specified

Specified

“Best Effort”, UBR

Circuit Emulation, CBR

VBR Video/Audio

Connection-Oriented Data

Connectionless Data

Page 17: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

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

Page 18: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

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

Page 19: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

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 QoS-based networks. These applications could benefit from a minimum rate guarantee by the network, along with an opportunity to use the bandwidth fairly.

EXAMPLE APPLICATIONS

Page 20: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

Overview (Traffic & QOS Parameters)

Attribute

PCR and CDVT

SCR, MBS

Min. Cell Rate MCR

Peak-to-peak CDV

Mean CDV

Maximum CTD

CLR

Feedback

unspecified

ATM Layer Service Categories

CBR rt-VBR nrt-VBR UBR ABR

unspecified specified

unspecified

unspecified

unspecified

unspecified

unspecified

unspecified

unspecified

unspecified

unspecified

unspecified

unspecified

specifiedspecified

specified specified

specified

specified

specified specified specified

specified

specified

specified

n/a

n/an/a

n/a

5

5,6

3 4

2

7

1

Page 21: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

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”

TRAFFIC CLASSES

Page 22: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

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.

Page 23: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

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?

Page 24: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

Call Establishment Process Using Virtual Paths

Request for VCC originates

VPC exists

Establish a new VPC or VCC

Can QoS be satisfied?

Block VCC or request more capacity

Request granted

Reject VCC request

Make connection

yes

nono

no

yes

yes

Page 25: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

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

CAC

Page 26: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

Source Behavior

CBR

VBR

time

time

Burst Duration

CellInterarrivalTime

Burst to BurstInterval

CellInterarrivalTime

Call Duration

Call Set-up Call Tear-Down

ON OFF

VBR SourceDescription:

orBurst Length DistributionInterarrival Distribution During BurstIdle (Silent) Length Distribution

Peak Cell RateSustainable Service RateMean Burst Length

< PCR, SCR, MBS >

Page 27: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

Source Characterization

MarkovianSources

Long RangeDependency Processes

(Self-Similar Processes)

On-Off MMPP IFP IBP

PoissonProcess

DataTraffic

Valid

Voice, VideoTraffic

MarkovModulatedPoissonProcess

InterruptedFluidProcess

InterruptedBernoulliProcess

Page 28: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

Bandwidth Allocation

Fixed Bandwidth Allocation(Guaranteed BW)

(Peak BW Allocation)

Dynamic Bandwidth Allocation

Page 29: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

Bandwidth Allocation

• 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.

• PEAK BANDWIDTH ALLOCATION (DETERMINISTIC)

• 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.

Page 30: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

Bandwidth Allocation (Cont.)

CBR, rt-VBR BW is allocated in deterministic fashionaccording to the peak rate

1c

nc

C

n

iicC

1

Page 31: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

Dynamic BW Allocation

Consider a single source feeding a finite capacity queue:

C1

Finite Buffer

CServer

Trunk

QoS Cell Loss Probability

Objective: Dynamic Bandwidth Allocation (Statistical)

N

iicC

1

Page 32: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

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

EquivalentCapacityLink MetricApproach

Heavy TrafficApproximation

Upper Boundsof Cell LossProbabilities

Fast Buffer BWAllocation

TimeWindows(Stop & Go)

Page 33: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

Equivalent Bandwidth(Link Metric Approach)

Use Traffic Descriptors, Cell Loss Rate, and Buffer Size

)1(2

)1(4)1()1( 2

B

rBxxrxrBc

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 sourceB: Maximum burst lengthD: Delay requiremente: Required error bound (CELL LOSSES) for the source

Page 34: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

e

1ln

C: Link Capacity x = D · C

Source C

The maximum number of sources that can be multiplexed onto the link without violating QoS:

c

Cn

Easy to enforce Call Admission Process

Test whether the sum of all equivalent BWs is less than or equal to available BW.

c

Equivalent Bandwidth(Link Metric Approach)

Page 35: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

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/(2B).– Burst Lengths: As the burst length increases, the equivalent

bandwidth also increases.

Equivalent Bandwidth(Link Metric Approach)

Page 36: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

• Here, it is assumed that all sources have the same QoS requirements.• Inaccuracies because:

– Fluid Flow Approximation used to derive 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.

c

Equivalent Bandwidth(Link Metric Approach)

Page 37: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

End-To-End Model Used By CAC

CAC is based on an abstract performance model of the network.

- FINITE BUFFERS- DETERMINISTIC SERVICE TIMES

Modeling ProblemsNeed 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

Multiplexing Demultiplexing

DepartingCross Traffic

EnteringCross Traffic

EnteringCross Traffic

EnteringCross Traffic

DepartingCross Traffic

DepartingCross Traffic

Page 38: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

Policing (Usage Paramer Control (UPC))

1. 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.

2. Thus, a monitoring/policing function is needed to force the traffic to comply to the traffic descriptor.3. This monitoring/policing function is performed by the UPC (policer).4. The UPC is a form of preventive congestion control.5. 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.6. 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.

7. It does not use information from remote network elements.8. Instead it assumes that the locally available information about the cell arrivals is sufficient to be used for

congestion prevention in the network scale.

Page 39: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

Leaky Bucket UPC

Window-based UPC

Window

Window

Moving Window

Jumping Window

Triggered Window

Accepted cellDropped/Marked cell 17

Token Bank(capacity N)

TokenArrivals(rate r)

Cell arrivals Cell arrivals

Cell dropped ormarked

Source Network

Page 40: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

Leaky BucketEach time a cell enters the network, it will put a token in the bucket

Network

Bucket

Bucket has finite capacity. If the buffer is full, the cellcannot drop the token, then that cell is dropped.

Leak Rate From time to time the bucket willbe emptied

Leak Rate (Draining Rate)

Source

18

Page 41: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

Leaky Bucket (Cont.)Version 1: LB Severe Discard the cell if there is no space in the buffer.

Version 2:IllegalCell

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 !

Page 42: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

Leaky Bucket Examples

BucketContent

BucketContent

InputCell Stream

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Cell Time

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

InputCell Rate

6420

Non-conforming cells

6420

Cell Time

Bucket Length is 6 units; Each arrival 4 units put in bucket; Conformance - Compliance; Leak rate = 1 unit/time

Page 43: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

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)

6420

ShapedOutput 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

A B C D E F

InputCell Stream Cell

Time

BucketContent

ShapingBuffer

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

2

0

B

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

A

D

E F

Non-Conformingcells

D D D

D

CC E E E F F F F

F

G

GG G

D

Page 44: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

SPACING

Space implements a virtual scheduling Algorithm which computes a TheoreticalReemission 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.

Input CellStream Cell

Time0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

A E F

Non-Conformingcells

ShapedoutputStream

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

A B D E F

“Space” 5 9 13 17 21 TheoreticalReemissionTime (TRT)

BD

Page 45: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

Generic Cell Rate AlgorithmThe 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.

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).

Arrival of a cell k at time ta (k)

VIRTUAL SCHEDULING ALGORITHM

TAT: Theoretical Arrival Timeta(k): Time of arrival of a cell

TAT < ta(k) YES

YES

TAT = ta(k)

TAT > ta(k) + LNon

ConformingCell

NO

TAT = TAT + IConforming Cell

X’= X - (ta(k) - LCT)

X’< 0

X’> L

X=X’+ILCT = ta(k)

Conforming Cell

YES

X’=0YESNonConforming

Cell

CONTINUOUS-STATELEAKY BUCKET ALGORITHM

X : Value of the Leaky Bucket CounterX’ : Auxiliary VariableLCT: Last Compliance Time

I : IncrementL : Limit

No

Page 46: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

• 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.)

Page 47: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

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.)

Page 48: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

GCRA (I,L) LB

GCRA (T, )

GCRA (1/PCR, CDVT) Cell Delay Variance Tolerance

(Traffic Descriptors)

CDV-Tolerance: A source with a PCR of 10000 cells/sec should nominallytransmit cells within 100 . GCRA is used to determine if thevariation in the cell interarrival time is acceptable. GCRA (a, b)

Nominal IntercellArrival Time Allowed Variation

In the Intercell timee.g., GCRA (100 , 10 )will allow cells to arrive no more than

10 earlier than their nominal scheduled time.

Generic Cell Rate Algorithm (Cont.)

secsec

sec

sec

Page 49: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

Generic Cell Rate Algorithm (Cont.)

EXAMPLE:

• Consider a Video-on-Demand service where the negotiated PCR = 50kcells/s and theand the CDV Tolerance ( ) =50sec. • The cells arrive at times as indicated by ta (k).

Note: GCRA(I,L) where I = T = 1/PCR = 20sec/cell and L = = 50 sec.

GCRA(T,)

1

2

3

45

6

7

8

9

10

0

k

Figure: Example of the GCRALCT(k) X(k) X’(k) Conforming

0s 0s 0s 0s Yes

20s 0s 20s 0s Yes

25s 20s 20s 15s Yes

30s 25s 35s 30s Yes

35s 30s 50s 45s Yes

40s 35s 65s 60s No

45s 35s 65s 50s No

50s 35s 65s 50s No

55s 35s 65s 45s Yes

80s 50s 70s 40s Yes

100s 80s 60s 40s Yes

ta (k)

Page 50: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

X=X’+I=20

0 20

X’=X-(ta(k)-LCT)=0

0 0 0

Initially k=0LCT= ta(k)

X’<=0Yes

X=X’+I=20

0 20

LCT= ta(k)=0

For k=1 X’=X-(ta(k)-LCT)=0

Set X’=0

X’<=0 Set X’=0

20 0

LCT= ta(k)=20

20

EXAMPLE

Page 51: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

For k=2 X’=X-(ta(k)-LCT)=15 X’ L

25 20 X=X’+I=35

15 20 LCT= ta(k)=25

20

For k=3 X’=X-(ta(k)-LCT)=30 <50

30 25 X=X’+I=50

30 20 LCT= ta(k)=30

35

No

15

50

No

5

5

EXAMPLE (cont.)

Page 52: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

For k=4 X’=X-(ta(k)-LCT)=45 <50

35 30 X=X’+I=65

45 20 LCT= ta(k)=35

50

5

For k=5 X’=X-(ta(k)-LCT)=60 >50

40 3565

5

Accept

Not accept

EXAMPLE (cont.)

Page 53: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

For k=6 X’=X-(ta(k)-LCT)=55 >50

45 3565

10

Not accept

For k=7 X’=X-(ta(k)-LCT)=50

50 3565

15

Not accept

For k=8 X’=X-(ta(k)-LCT)=45

55 3565

20

Accept

X=X’+I=65

45 + 20LCT= ta(k)=55

EXAMPLE (cont.)

Page 54: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

Objective: B = 1 + τ /(T-1) is used for peak rate enforcement.

Variables : PCR : Peak Cell Rate : T= PCR

1

: Cell Delay Variation Tolerance (Early or late)

Note that T and are measured in terms of the time required toinsert/transmit a cell

Derivation of B (Max. No. of Back to Back Cells)

Page 55: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

p

Time interval to insert one celli.e., is dependent on the link capacity.

e.g., 100 Mbps 53Bytes*8100 Mbps

=424100

= 4.24sec

Peak Cell Rate 25Mbps

25 * 106

53 * 8 = 16.96 sec

Derivation of B (cont.)

Page 56: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

How long does it take to generate 1 ATM cell using the peak cell rate of 25 Mbps?

T = 16.96 sec

Assume 1 time slot represents 1 unit: T=4.24sec

= 416.96

Every 4 time units we generate 1 ATM cell!

PCR= 0.25 cells per time unit1T

Derivation of B (cont.)

Page 57: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

Derivation of B (Max. Number of Back-to-Back Cells)

GCRA(T,CDVT) Peak Rate Enforcement

1/PCR = CDVT (Cell Delay Variation Tolerance)

Objective: Derive B (Maximum Number of Cells which can be sent back-to-back)

B = 1 + τ /(T-1)

If τ=0 1 Arrival (Actual) B=1

If τ=3 2 Arrivals (Actual) B=2

If τ=6 3 Arrivals (Actual) B=3

If τ=9 4 Arrivals (Actual) B=4

T=1/PCR

Theoretical Arrival Time

(TAT)

T=4

Actual Arrival Time of Cells

(=8)τ

T=1/PCR T=1/PCR T=1/PCR

Page 58: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

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)

Page 59: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

• 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.

SCR

Page 60: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

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)

Page 61: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

If τs=0 MBS=1 (Only 1 Burst Arrival)

If τs=2 MBS=2 (2 Burst Arrivals Back-to-Back)

If τs=4 MBS=3 (3 Burst Arrivals Back-to-Back)

If τs=6 MBS=4 (4 Burst Arrivals Back-to-Back)

T

TAT

(Ts=6, T=4)

Actual Arrival Time of Cells

(s=6)

T T T

T T T

τs(MBS-1)[Ts-T]

MBS = 1 + τs /(Ts-T)

MBS 1 + τs /(Ts-T)

SCR

Page 62: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

* 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

Page 63: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

• 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).

SCR Policing

Page 64: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

Number of Back-to-Back Cells not to exceed the Peak Cell Rate

τs (MBS-1) [Ts-T] MBS = 1 + τs /(Ts-T)

PCRSCRMBSs

11)1(

))(1( TTMBSBT Ss

SCR

Page 65: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

• The minimum cell interval (1/PCR) =T and the CDV Tolerance, , are

the increment and the limit for the GCRA and are denoted as GCRA(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 , ) and GCRA(T0+1 , ), 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 (PEAK CELL RATE ENFORCEMENT

Page 66: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

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 flowsCLP=0+1 GCRA(Ts0+1, τs0+1)

SCR for CLP=0+1

SCR for CLP=0

UPC Actions

SCR ENFORCEMENT

Page 67: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

Non-conformed 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.

UPC Actions

Simple Strategy: Conformed Cells Passed

Page 68: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

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 re-transmission causes rapid falloff of the carried load. This condition rapidly reduces carried load. This condition rapidly reduces carried load and causes throughput collapses

Congestion Control Techniques

Page 69: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

Example: 100Mbps, 100km apart

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

A B

Motivation for a New Congestion Control

Page 70: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

LA

NY

1 Prop. Delay = 15 msec

NAK

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

Motivation for a New Congestion Control

Page 71: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

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!

Motivation for a New Congestion Control

Page 72: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

Congestion Control Techniques

Early Proposals Rated-Based Approach

Credit-Based Approach

Fast Resource Management

France Telecom((

Delay Based Congestion Influence

(Fujitsu)

Backward Explicit Congestion

Notification

Fair Queueing and Buffer Feedback

Xerox Cisco Early Packet Discard (Sun)(

(

(BNR,

DEC,

FORE,

ASCOM,

TIMEPLEX,

MITSUBISHI,

HARVARD Univ. )

(IBM,

Motorola,

22 companies)

Page 73: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

It is based on per-link, per-VC, window flow control.

Fig. Per-link, per-VC window flow control

VC1

VC2

Credit

Data

DataCredit

Credit

Data

CreditData

Credit

Data

VC BufferSW2

SW1

Host2

Host3

Host1Hop by hop flow

control

Credit Based Flow Control

Page 74: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

• 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.

Credit Based Flow Control

Page 75: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

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

Credit Based Flow Control

Page 76: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

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.

Page 77: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

• 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.

Rate-based Flow Control (cont.)

Page 78: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

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 round-robin 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 rate-based schemes, though it might be an advantage.

Page 79: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

Credit vs. Rate Based Flow Control

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 queueing.

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 queueing of the credit-based approach and the greater flexibility of the rate based approach. (October 1995)

Page 80: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

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

Page 81: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

Protocol OperationSource initiates an ABR VCC (as Call Setup (Signalling))

Source Specifies:PCR : Peak Cell Rate in cells/secMCR : Minimum Cell Rate in cells/secICR : Initial Cell Rate (Startup Rate)ACR : Allowed Cell Rate (Current Permitted Transmission Rate)RIF : Rate Increase Factor (Permitted Rate Increase)RDF : Rate Decrease FactorNrm : 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

Page 82: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

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:

Page 83: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

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.

Parameter Definitions and Usage (cont.):

Page 84: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

Table ABR PARAMETERS

Label Name Description DefaultPCR Peak cell rate Fixed upper limit on source rateMCR Minimum cell rate Lower limit on source rate by network 0ICR Initial cell rate Initial value of ACR; rate at which source PCR

should send initially and after an idle periodRIF Rate increase factor Amount by which cell transmission rate may

increase upon receipt of an RM cellNrm Maximum number of cells a source may 32

send for each forward RM cellMrm Controls allocation of bandwidth between 2

forward RM cells, backward RM cells, anddata cells

RDF Rate decrease factor Multiplicative factor that controls the decrease of cell transmission rate

ACR Allowed cell rate Current upper limit on source rate; adjustedby feedback within the range of MCR to PCR

-

1/16

-

1/16

Page 85: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

Table ABR PARAMETERS (Cont.)

-

1/16

Label Name Description DefaultCRM Number of forward RM cells that may be

sent in the absence of received backwardRM cells

ADTF ACR decrease time Time allowed between sending RM cells 0.5 msfactor before the rate is decreased to ICR

Trm Upper bound on the time between consecutive 100 msforward RM cells for an active source

FRTT Fixed round-trip time Sum of the fixed and propagation delays fromsource to destination and back

TBE Transient buffer Negotiated number of cells that source canexposure send initially before first RM cells returns

CDF Cutoff decrease factor controls decrease in ACR in combination withCRM

TCR Tagged cell rate Upper limit on rate at which a source may 10 cells/ssend out-of-rate forward RM cells

219-1

224-1

Page 86: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

Bits

1

1

1

1

1

3

Octets

5

1122

2

4

4

10 bits

ATM header

Protocol identifier

Message type

Explicit cell rate

Current cell rate

Minimum cell rate

Queue length

Sequence number

Reserved

CRC-10

Direction

BECN cell

Congestion indication

No increase

Request/ACK

Reserved

Resource Management Cell Format

Page 87: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

• 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

Page 88: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

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 a 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)

Page 89: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

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)

Page 90: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

• 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)

Page 91: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

• 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).

RM Cell Format (continued)

Page 92: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

Field If source generated

If switch or destination generated

Direction (DIR) 0 1

BECN Cell (BN)

0 1

Congestion Indication (CI)

0 0 or 1

No Increase (NI)

0 or 1 0 or 1

Explicit Cell Rate (ER)

<= PCR parameter

Any rate value

Current Cell Rate (CCR)

ACR parameter

0

Minimum Cell Rate (MCR)

MCR parameter

0

INITIAL VALUES OF RM CELL FIELDS

Page 93: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

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

Page 94: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

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.

THE ABR CONGESTION CONTROL ALGORITHM

Page 95: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

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.

THE ABR CONGESTION CONTROL ALGORITHM

Page 96: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

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

THE ABR CONGESTION CONTROL ALGORITHM

Page 97: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

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))]

THE ABR CONGESTION CONTROL ALGORITHM

Page 98: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

ACR

PCR

When CI=1 in received RM cell, source must decrease

its ACR by (RDF . ACR) down to a minimum of MCR

ICR

MCR

When an RM cell with (CI=NI=0) is received, the source may increase its

ACR by RIFPCR, up to PCR

If ACR is greater than ER in received RM cell, source must decrease its ACR

to max{MCR, ER}

Time

THE ABR CONGESTION CONTROL ALGORITHM

Page 99: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

Flow of Data and RM Cells on an ABR Connection

Cell transmission rate=ACR RM cell transmission every (Nrm-1)

data cells

Congestion point: reduce ER or set CI or NI

Modify ACR based on CI, NI, and ER

Congestion point: set EFCI of a data cell

Return the RM cell. If congested, reduce ER. If

EFCI is set, set CI

Destination: End system

Backward RMData cellForward RM

Page 100: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

Cell FlowTwo 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.

Page 101: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

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)

Page 102: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

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.

Page 103: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

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.

Page 104: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

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.   

Page 105: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

• 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.)

Page 106: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

2. A switch may generate backward RM-cells. The rate of switch-generated 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.)

Page 107: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

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.)

Page 108: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

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.)

Page 109: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

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.)

Page 110: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

• 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.)

Page 111: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

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.

Page 112: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

WHY SCHEDULING?

Schedule Transmission of packets (cells) on an outgoing link to meet QoS requirements.

Problem:

1

2

N

Scheduler

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.

Page 113: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

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

Shaper

Source DestinationSwitch Switch

Policer(optional)

Scheduler + optional shaper

Policer(optional)

Scheduler + optional shaper

Flow

Page 114: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

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

Page 115: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

• 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

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, is generated and stamped on the

incoming cell, i.e., each cell is assigned a virtual clock value.

kiauxVC

ii ARVtick /1

Virtual Clock

Page 116: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

• AuxVC Calculation

AT is the cell arrival time

Each switch has a state variable associated with each channel to monitor and enforce the rate for the

channel.

: 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.

iki

ki

ki

ki

VtickauxVCauxVC

auxVCATauxVC

},max{

Stamp cell with aux

auxVC

kiVC

Virtual Clock

Page 117: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

• First cell of connection i arrives at (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.

iauxVC

Virtual Clock (Cont.)

Page 118: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

Virtual Clock Example3 connections sharing the same link:

Connection 1 (Source S1): 50% BW => Vtick1 = 2Connection 2 (Source S2): 20% BW => Vtick2 = 5Connection 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.

Procedures of Virtual Clock:t = 0 aux VC2 = max{AT2

1, aux VC20} + Vtick2 = 5

aux VC3 = max{AT31, aux VC3

0} + Vtick3 = 5t =1 aux VC2 = max{AT2

2, auxVC21} + Vtick2 = 10

aux VC3 = max{AT32, aux VC3

2} + vtick3 = 10t = 2 aux VC1 = max{AT1

1, aux VC10} + Vtick1 = 4

aux VC2 = max{AT23, aux VC2

3} + Vtick2 = 15 … ...

s1

s2

s30 1 2 3 4

Page 119: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

Virtual Clock Example (Cont.)

How cells come out ?

Bottom-line: Although connections 2 and 3 send cells at higher rate, virtual clock algorithm ensures that well-behaving connections get good performance.

52 53

52102 103

41

103

103102152 153

152 153

t = 0

t = 1

t = 2

t = 3 102

41

Page 120: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

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

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)).

C

Fair Queueing

Page 121: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

• 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.

a1a2

a3

At any time,, the service rate ri for a non-empty queue i is exactly

Ca

ar

Bjj

ii

B is the set of non-empty queues at time C is the link speed.

Thus, connection i is guaranteed a minimum service rate ri during any interval when it is backlogged.

C

Fluid Fair Queueing

Page 122: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

FFQ is a general form of HOL (Head of the Line) ProcessorSharing Service Discipline (HOL-PS)

FFQ (Ctnd)

HOL-PS

Connection 1

Connection 2

Connection N

FIFO QueueWhen 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.

While HOL-PS serves all non-empty queues at the same rate, FFQ allows different connections to have different SHARES.

Page 123: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

• 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.

Fluid Fair Queuing (Cont.)

Page 124: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

• 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.

Approximate FFQ

Page 125: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

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.

2

3

11

1

0

EXAMPLE

Page 126: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

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 817110191 13 14 15

11016 17 18 19

Fluid Fair Queueing (FFQ) OrderC1

C2

C3

C4

C5

C6

C7

C8

C9

C10

C11

0 10 20 21

111p

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 service the first cell from other connections.

9

First Come First Served Order

12111 111

Page 127: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

Start Time Finish Time Cell

2 ( k-1) 2k kp1for k = 1,…10

20 21 111p

0 20 1jpfor j = 2, …11

If we denote the k-th cell on connection j as , then the start and finish times of cells in FFQ system are:

kjp

Fluid Fair Queueing Order (Cont.)

Page 128: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

C1

C2

C3

C4

C5

C6

C7

C8

C9

C10

C11

0 10 20

-

111p

101p

Weighted Fair Queueing (WFQ) Order

Page 129: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

Explanation of the Example

• At time 0, all 11 connections have cells backlogged.

• Since finishes at time 2, while all other (for i=2,…11) cells finish at time 20 in the corresponding FFQ system, WFQ will serve 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 for i = 2,…..,11 will be served in increasing order.

11p

1ip

11p

1ip

WFQ Order (Ctnd)

Page 130: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

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.

Worst Case Fair Weighted Fair Queueing (WF2Q)

Page 131: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

C1

C2

C3

C4

C5

C6

C7

C8

C9

C10

C11

0 10 20

-

111p

• At time t=0, the first cells in all connections (i=1,…,11), start their service in the corresponding FFQ system.

• Among them, 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.

•At time t=1, there are 11 cells at the head of each queue, i.e., and for i=2,….,11.

1ip

11p

1ip

21p

WF2Q Example

Page 132: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

WF2Q Example (Cont.)

• Although has the smallest finish time, it does not start service in the corresponding FFQ system until time t=2.

• Thus, the cell 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, is chosen to be the next cell to serve at time t=1. • At time t=2, , starts to receive service because it has smallest finish time among all cells in the corresponding FFQ system.

12p

21p

12p

21p

Page 133: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

• 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)

Page 134: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

Hierarchical Round Robin (HRR) (Cont.)

1

23

5

4

6

7

98

10

1

23

5

4

6

7

98

10

Level 2 Level 1

10 cycles

100 cycles

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

1 2 3 … 10

1 2 3 … 10

1 2 3 … 10

1

2

3

Level 1 Level 2

The lower is the layer, the smaller is the BW requirements (the finer is the granularity).

Example:FT1 = 10FT2 = 100a1 = 2

10

2

1

1

FT

a Cells

Slots

Page 135: 4. TRAFFIC MANAGEMENT. Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without

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.