210 likes | 382 Views
CS 4594 Broadband. ATM GCRA and Leaky Bucket. From the ATM Forum. The GCRA is used to define conformance to the traffic contract. For each cell that arrives at the specified point, the GCRA determines whether the cell conforms to the traffic contract of its connection.
E N D
CS 4594 Broadband ATM GCRA and Leaky Bucket
From the ATM Forum • The GCRA is used to define conformance to the traffic contract. For each cell that arrives at the specified point, the GCRA determines whether the cell conforms to the traffic contract of its connection.
Generic Cell Rate Algorithm • GCRA = Generic Cell Rate Algorithm • Defined by two equivalent methods • Virtual Scheduling • Leaky Bucket
Initially: TAT=ta(1) GCRA – Virtual Scheduling Arrival of cell k at t =ta(k) k=k+1 TAT<ta(k) Yes TAT=ta(k) No TAT>ta(k)+L Yes No TAT=TAT+I Discard nonconforming cell Accept conforming cell
GCRA - Virtual Scheduling CGRA(I,L) k=k+1 Arrival of cell k at t =ta(k) (slow) too fast fast slow TAT<ta(k) Yes TAT=ta(k) TAT-L TAT No (fast) TAT>ta(k)+L Yes (too fast) No (not too fast) TAT=TAT+I Discard nonconforming cell Accept conforming cell
TAT = Theoretical Arrival Time I I I I TAT-L TAT TAT-L TAT time slow fast too fast
GCRA(T, τ) N = maximum number of contiguous conforming cells T = targeted average time in GCRA τ = limit tolerance in GCRA δ = actual average arrival time Burst Size
Leaky Bucket • Smoothes traffic • Regulates traffic • Overflow = nonconforming • Nonconforming can be tagged or discarded
GCRA – Leaky Bucket (Equiv to Virtual Scheduling) Initially: X=0 LCT = ta(1) Arrival of cell k at t =ta(k) k=k+1 X’=X-(ta(k)-LCT) Yes X’<0 X’=0 Meanings: X = Value of counter X’ auxiliary variable LCT = Last Conformance Time L = bucket size (slow) No (fast) Yes (too fast) X’>L No (not too fast) X=X’+I LCT=ta(k) Discard nonconforming cell Accept conforming cell
Explanation • X is value of the counter. • When a cell arrives at time ta(k), X’ is set to the value of what the counter would be: X’ = X – (ta(k) – LCT) (This is the value of previous counter X minus the amount would have leaked. • If X’ is negative (bucket would be empty), the cell is compliant, X’ is set to 0, X is set equal to X’ + I, and LCT = ta(k). • If X’ is nonnegative, check if bucket is full. If not full, cell is compliant and do as above. • If bucket is full, the cell is not compliant, and nothing is updated.
Leaky (token) bucket as a gate Cell goes through if bucket has enough tokens ir Tokens enter at given rate • ir = information rate • bs = burst size bs Let token escape as cell goes by yes ? input output no
Double Leaky Bucket Input Overflow Overflow output
Double Leaky Bucket(another arrangement) Input Overflow Overflow output
Double leaky buckets as a pair of gates pir • pir = peak information rate • pbs = peak burst size • cir = committed information rate • cbr = Committed burst size cir pbs cbs yes yes no no
LBP schemes • LBP=Leaky Bucket Policy
LBP Scheme type 1 • Arriving cells are dropped when no token is present in the token pool arriving cells departing cells server dropped cells Token pool
LBP Scheme type 2 tagged cells • Arriving cells are tagged if not complient. departing cells arriving cells server Token pool
LBP Scheme type 3 • Arriving cells are placed in the queue if no token is present in the token pool departing cells arriving cells buffer server dropped cells Token pool
LBP Scheme type 4 tagged cells • Arriving cells are placed in the queue if no token is present in the token pool. Nonconforming cells are tagged. arriving cells departing cells buffer server Token pool
GCRA and ATM Services • GCRA is used to define usage parameters • CBR (Class A) (one GCRA) • GCRA(1/PCR, CDVT) • rt-VBR (Class B) (two GCRAs) • GCRA(1/PCR, CDVT) • GCRA(1/SCR, CDVT+BT) • ATM Forum defines 3 variations based on how the CLP bit is used. • ABR • uses GCRA with changing values for parameters.
ATM Conformance Definitions • VBR.1 – Leaky bucket 1 sends CLP(0+1) compliant cells to leaky bucket 2 and discards the noncompliant cells. Leaky bucket 2 sends CLP(0+1) compliant cells to the network and discards noncompliant cells. • VBR.2 – Leaky bucket 1 sends CLP(1) compliant cells to the network, sends CLP(0) compliant cells to leaky bucket 2, and discards CLP(0+1) noncompliant cells. Leaky bucket 2 sends CLP(0) compliant cells to the network and discards noncompliant cells. • VBR.3 – Leaky bucket 1 sends CLP(1) compliant cells to the network, sends CLP(0) compliant cells to leaky bucket 2, and discards CLP(0+1) noncompliant cells. Leaky bucket 2 sends CLP(0) compliant cells to the network and tags noncompliant cells and sends them to the network.