Presentation is loading. Please wait.

Presentation is loading. Please wait.

Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without violating QoS of existing.

Similar presentations


Presentation on theme: "Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without violating QoS of existing."— Presentation transcript:

1 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 DESCRIPTOR QoS Admission Control Connection Setup Phase Connection Phase Source Policing Traffic Policed Traffic Network Source

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

3 Source Behavior CBR VBR time Burst Duration Cell Interarrival Time Burst to Burst Interval Cell Interarrival Time Call Duration Call Set-up Call Tear-Down

4 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

5  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)

6  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.

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

8 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 RateAverage Rate (Mb/s) 11.75 3.0 14.424.2 44.7 16.8

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

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

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

12 Table of Procedures Used to Set Value of Traffic Contract Parameters Explicitly Specified ParametersImplicitly 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 Network-operator default rules SVC = Switched Virtual Connection PVC = Permanent Virtual Connection NMS = Network Management System

13 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

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

15 QoS Classes: QoS ClassQoS ParametersApplication 0123401234 Unspecified Specified “Best Effort”, UBR Circuit Emulation, CBR VBR Video/Audio Connection-Oriented Data Connectionless Data

16 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

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

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

19 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 CBRrt-VBRnrt-VBRUBRABR unspecifiedspecified unspecified specified n/a 5 5,6 34 2 7 1

20 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”

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

22 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?

23 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 no yes

24  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

25 Source Behavior CBR VBR time Burst Duration Cell Interarrival Time Burst to Burst Interval Cell Interarrival Time Call Duration Call Set-up Call Tear-Down ONOFF VBR Source Description: or Burst Length Distribution Interarrival Distribution During Burst Idle (Silent) Length Distribution Peak Cell Rate Sustainable Service Rate Mean Burst Length

26 Source Characterization Markovian Sources Long Range Dependency Processes (Self-Similar Processes) On-OffMMPPIFP IBP Poisson Process Data Traffic Valid Voice, Video Traffic Markov Modulated Poisson Process Interrupted Fluid Process Interrupted Bernoulli Process

27 Bandwidth Allocation Fixed Bandwidth Allocation (Guaranteed BW) (Peak BW Allocation) Dynamic Bandwidth Allocation

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

29 Bandwidth Allocation (Cont.) CBR, rt-VBR BW is allocated in deterministic fashion according to the peak rate

30 Dynamic BW Allocation Consider a single source feeding a finite capacity queue: C1C1 Finite Buffer C Server Trunk QoS   Cell Loss Probability Objective:Dynamic Bandwidth Allocation (Statistical)

31 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 Capacity Link Metric Approach Heavy Traffic Approximation Upper Bounds of Cell Loss Probabilities Fast Buffer BW Allocation Time Windows (Stop & Go)

32 Equivalent Bandwidth (Link Metric Approach) Use Traffic Descriptors, Cell Loss Rate, and Buffer Size 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

33 C: Link Capacity x = D · C Source C The maximum number of sources that can be multiplexed onto the link without violating QoS: Easy to enforce Call Admission Process Test whether the sum of all equivalent BWs is less than or equal to available BW.

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

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

36 End-To-End Model Used By CAC CAC is based on an abstract performance model of the network. - 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 Multiplexing Demultiplexing Departing Cross Traffic Entering Cross Traffic Entering Cross Traffic Entering Cross Traffic Departing Cross Traffic Departing Cross Traffic

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

38 Leaky Bucket UPC Window-based UPC Window Moving Window Jumping Window Triggered Window Accepted cell Dropped/Marked cell 17 Token Bank (capacity N) Token Arrivals (rate r) Cell arrivals Cell dropped or marked Source Network

39 Leaky Bucket Each 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 cell cannot drop the token, then that cell is dropped. Leak Rate From time to time the bucket will be emptied Leak Rate (Draining Rate) Source 18

40 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 !

41 Leaky Bucket Examples Input Cell Stream 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Cell Time Bucket Content 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Input Cell Rate Bucket Content 64206420 Non-conforming cells 64206420 Cell Time 19 Bucket Length is 6 units; Each arrival 4 units put in bucket; Conformance - Compliance; Leak rate = 1 unit/time

42 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) 64206420 Shaped Output 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ABCDE F Input Cell Stream Cell Time Bucket Content Shaping Buffer 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 2020 B A D EF Non-Conforming cells DDD D CCEEEFFFF F G GGG D

43 SPACING 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. Input Cell Stream Cell Time 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 AE F Non-Conforming cells Shaped output Stream 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ABDE F “Space” 5 9 1317 21 Theoretical Reemission Time (TRT) B D

44 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. 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 t a (k) VIRTUAL SCHEDULING ALGORITHM TAT: Theoretical Arrival Time t a (k): Time of arrival of a cell TAT < t a (k) YES TAT = t a (k) TAT > t a (k) + L Non Conforming Cell NO TAT = TAT + I Conforming Cell X’= X - (t a (k) - LCT) X’< 0 X’> L X=X’+I LCT = t a (k) Conforming Cell YES X’=0 YES Non Conforming Cell CONTINUOUS-STATE LEAKY BUCKET ALGORITHM X : Value of the Leaky Bucket Counter X’ : Auxiliary Variable LCT: Last Compliance Time I : Increment L : Limit No

45 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 t a (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.)

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

47 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 nominally transmit cells within 100. GCRA is used to determine if the variation in the cell interarrival time is acceptable. GCRA (a, b) Nominal Intercell Arrival Time Allowed Variation In the Intercell time e.g., GCRA (100, 10 ) will allow cells to arrive no more than 10 earlier than their nominal scheduled time. Generic Cell Rate Algorithm (Cont.)

48 EXAMPLE: Consider a Video-on-Demand service where the negotiated PCR = 50kcells/s and the and the CDV Tolerance (  ) =50  sec. The cells arrive at times as indicated by t a (k). Note: GCRA(I,L) where I = T = 1/PCR = 20  sec/cell and L =  = 50  sec. GCRA(T,  ) 1 2 3 4545 6 7 8 9 10 0 k Figure: Example of the GCRA LCT(k) X(k) X’(k) Conforming 0  s 0  s 0  s 0  s Yes 20  s 0  s 20  s 0  s Yes 25  s 20  s 20  s 15  s Yes 30  s 25  s 35  s 30  s Yes 35  s 30  s 50  s 45  s Yes 40  s 35  s 65  s 60  s No 45  s 35  s 65  s 50  s No 50  s 35  s 65  s 50  s No 55  s 35  s 65  s 45  s Yes 80  s 50  s 70  s 40  s Yes 100  s 80  s 60  s 40  s Yes tata (k)

49 EXAMPLE X=X’+I=20 020 X’=X-(t a (k)-LCT)=0 000 Initially k=0 LCT= t a (k) X’<=0 Yes X=X’+I=20 020 LCT= t a (k)=0 For k=1X’=X-(t a (k)-LCT)=0 Set X’=0 X’<=0 Set X’=0 20 0 LCT= t a (k)=20 20

50 EXAMPLE (cont.) For k=2X’=X-(t a (k)-LCT)=15 X’  L 25 20 X=X’+I=35 1520LCT= t a (k)=25 20 For k=3X’=X-(t a (k)-LCT)=30<50 30 25 X=X’+I=50 30 20 LCT= t a (k)=30 35 No 15 50 No 5 5

51 EXAMPLE (cont.) For k=4X’=X-(t a (k)-LCT)=45<50 35 30 X=X’+I=65 45 20 LCT= t a (k)=35 50 5 For k=5X’=X-(t a (k)-LCT)=60>50 40 35 65 5 Accept Not accept

52 EXAMPLE (cont.) For k=6X’=X-(t a (k)-LCT)=55 >50 45 35 65 10 Not accept For k=7X’=X-(t a (k)-LCT)=50 50 35 65 15 Not accept For k=8X’=X-(t a (k)-LCT)=45 55 35 65 20 Accept X=X’+I=65 45 + 20 LCT= t a (k)=55

53 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=  : Cell Delay Variation Tolerance (Early or late) Note that T and  are measured in terms of the time required to insert/transmit a cell

54 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 100 Mbps = 424 100 = 4.24  sec Peak Cell Rate  25Mbps 25 * 10 6 53 * 8 = 16.96  sec

55 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 Assume 1 time slot represents 1 unit:T= 4.24  sec = 4 16.96 Every 4 time units we generate 1 ATM cell! PCR= 0.25 cells per time unit 1 T

56 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

57 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(T s, τ s ) where T s = 1/SCR (Increment) τ s = BT (Burst Tolerance)

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

59 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) T s =1/SCR τ s : Burst Tolerance (BT)

60 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)[T s -T] MBS =  1 + τ s /(Ts-T)  MBS  1 + τ s /(Ts-T) 

61 * 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

62 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

63 Number of Back-to-Back Cells not to exceed the Peak Cell Rate τ s  (MBS-1) [T s -T]  MBS =  1 + τ s /(T s -T) 

64 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(T 0,  ) and GCRA(T 0+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

65 GCRA(T s, τ s )  CLP=0 (High Priority Traffic) CLP=0+1 (for all Traffic) For flows  CLP=0  GCRA(T s0, τ s0 ) 1/SCR 0 BT 0 For flows  CLP=0+1  GCRA(T s0+1, τ s0+1 ) SCR for CLP=0+1 SCR for CLP=0 UPC Actions SCR ENFORCEMENT

66 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

67 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 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

68 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

69 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

70 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!

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

72 Credit Based Flow Control It is based on per-link, per-VC, window flow control. Fig. Per-link, per-VC window flow control VC1 VC2 Credit Data Credit Data Credit Data Credit Data VC Buffer SW2 SW1 Host2 Host3 Host1 Hop by hop flow control

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

74 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

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

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

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

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

79 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

80 Protocol Operation Source initiates an ABR VCC (as Call Setup (Signalling)) Source Specifies: PCR : Peak Cell Rate in cells/sec MCR: Minimum Cell Rate in cells/sec ICR: Initial Cell Rate (Startup Rate) ACR: Allowed Cell Rate (Current Permitted Transmission Rate) RIF: Rate Increase Factor (Permitted Rate Increase) RDF: Rate Decrease Factor Nrm: 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

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

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

83 Table ABR PARAMETERS - 1/16 -

84 Table ABR PARAMETERS (Cont.) - 1/16 2 19 -1 2 24 -1

85 Bits 1 3 Octets 51 2 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

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

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

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

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

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

91 INITIAL VALUES OF RM CELL FIELDS

92 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

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

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

95 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

96

97 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 RIF  PCR, up to PCR If ACR is greater than ER in received RM cell, source must decrease its ACR to max{MCR, ER} Time

98 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

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

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

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

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

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

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

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

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

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

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

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

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

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

112 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 SourceDestinationSwitch Policer (optional) Scheduler + optional shaper Policer (optional) Scheduler + optional shaper Flow

113 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 (WF 2 Q) –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

114 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., Vtick i 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. Virtual Clock

115 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. Stamp cell with aux Virtual Clock

116 First cell of connection i arrives at (real time). All other cells auxVC i = auxVC i +Vtick i [Enqueue Cell, ] (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 (Cont.)

117 Virtual Clock Example 3 connections sharing the same link: Connection 1 (Source S 1 ): 50% BW => V tick1 = 2 Connection 2 (Source S 2 ): 20% BW => V tick2 = 5 Connection 3 (Source S 3 ): 20% BW => V tick3 = 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 = 0aux VC 2 = max{AT 2 1, aux VC 2 0 } + V tick2 = 5 aux VC 3 = max{AT 3 1, aux VC 3 0 } + V tick3 = 5 t =1aux VC 2 = max{AT 2 2, auxVC 2 1 } + V tick2 = 10 aux VC 3 = max{AT 3 2, aux VC 3 2 } + v tick3 = 10 t = 2aux VC 1 = max{AT 1 1, aux VC 1 0 } + V tick1 = 4 aux VC 2 = max{AT 2 3, aux VC 2 3 } + V tick2 = 15 …... s1s1 s2s2 s3s3 0 1 2 3 4

118 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. 5252 5353 5252 10 2 10 3 4141 10 2 15 2 15 3 15 2 15 3 t = 0 t = 1 t = 2 t = 3 10 2 4141

119 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

120 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 a 1 a 2 …. a n each corresponding to one queue. a1a1 a2a2 a3a3 At any time, , the service rate r i for a non-empty queue i is exactly B  is the set of non-empty queues at time  C is the link speed. Thus, connection i is guaranteed a minimum service rate r i during any interval when it is backlogged. C Fluid Fair Queueing

121 FFQ is a general form of HOL (Head of the Line) Processor Sharing Service Discipline (HOL-PS) FFQ (Ctnd) HOL-PS Connection 1 Connection 2 Connection N … FIFO Queue 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. While HOL-PS serves all non-empty queues at the same rate, FFQ allows different connections to have different SHARES.

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

123 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

124 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. 2323 11 1 0 …

125 Under FCFS, one cell from each connection is served then the remaining 10 cells of connection 1 are served 1 2121 3131 4141 5151 6161 8181 7171 10 1 9191 1313 1414 1515 1 10 1616 1717 1818 1919 Fluid Fair Queueing (FFQ) Order 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 service the first cell from other connections. 9 First Come First Served Order 1212 11 1

126 If we denote the k-th cell on connection j as, then the start and finish times of cells in FFQ system are: Fluid Fair Queueing Order (Cont.)

127 C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 0 10 20 - Weighted Fair Queueing (WFQ) Order

128 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. WFQ Order (Ctnd)

129 While WFQ uses only finish times of cells in the corresponding FFQ system, WF 2 Q uses both START TIMES and FINISH TIMES of cells in the corresponding FFQ system. Worst Case Fair Weighted Fair Queueing (WF 2 Q)

130 C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 0 10 20 - 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 WF 2 Q. 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. WF 2 Q Example

131 WF 2 Q 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.

132 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 a j at a given round. The frame time, FT i, 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 a j /FT i cells/sec. Hierarchical Round Robin (HRR)

133 Hierarchical Round Robin (HRR) (Cont.) 1 2 3 5 4 6 7 9 8 10 1 2 3 5 4 6 7 9 8 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 Level 1 Level 2 The lower is the layer, the smaller is the BW requirements (the finer is the granularity). Example: FT1 = 10 FT2 = 100 a1 = 2 Cells Slots

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


Download ppt "Traffic Control Different Levels of (Preventive) Congestion Control: - Admission Control: Ensure QoS of new connection without violating QoS of existing."

Similar presentations


Ads by Google