Acessibilidade / Reportar erro

Comparison of three policing algorithms for ABR conformance

Abstract

A closed loop rate based feedback control to support ABR service has been defined. In this approach the network at periodic intervals informs all transmitting sources the maximum rate at which the sources are allowed to transmit. For the scheme to be successful in that the network utilization is high and fairness is ensured for all competing users, it is imperative that all sources conform to the maximum rate at which they are allowed to transmit. To ensure the goals of ABR service are satisfied, especially in public networks, it is essential to police sources and penalize violating sources when deemed necessary. In this paper we investigate the effect of misbehaving or violating users on the network performance and the effectiveness of policing such sources.

ABR policing algorithms; ABR conformance; ABR congestion control


Comparison of three policing algorithms for ABR conformance

Aleksandar Kolarov, G. Ramamurthy

C & C Research Labs, NEC USA Inc.

4 Independence Way, Princeton

NJ 08540, USA

{kolarov,mgr}@ccrl.nj.nec.com

Toru Takamichi

C & C Network Products Development Laboratories NEC, Japan

Tutomu Murase

C & C Systems Research Labs

NEC, Japan

Abstract

A closed loop rate based feedback control to support ABR service has been defined. In this approach the network at periodic intervals informs all transmitting sources the maximum rate at which the sources are allowed to transmit. For the scheme to be successful in that the network utilization is high and fairness is ensured for all competing users, it is imperative that all sources conform to the maximum rate at which they are allowed to transmit. To ensure the goals of ABR service are satisfied, especially in public networks, it is essential to police sources and penalize violating sources when deemed necessary. In this paper we investigate the effect of misbehaving or violating users on the network performance and the effectiveness of policing such sources.

Keywords: ABR policing algorithms, ABR conformance, ABR congestion control

1 Introduction

A closed loop rate based feedback control to support ABR service has been defined. In this approach the network at periodic intervals informs all transmitting sources the maximum rate at which the sources are allowed to transmit. For the scheme to be successful in that the network utilization is high and fairness is ensured for all competing users, it is imperative that all sources conform to the maximum rate at which they are allowed to transmit. Sources failing to conform can have unfair advantage in terms of throughput, over well behaved (conforming) users. If the violation is uncontrolled (for example a babbling source transmitting at line rate), the network throughput can collapse.To ensure the goals of ABR service are met, especially in public networks, it is essential to police sources and penalize violating sources when deemed necessary. In this paper we investigate the effect of misbehaving or violating users on the network performance and the effectiveness of policing such sources.

We investigate 3 policing mechanisms in terms of their effectiveness in maintaining a high utilization and ensuring fairness among all competing users. The study shows that simple police mechanisms are sufficient to protect the network from violating or misbehaving users. This paper is organized as follows. In Section 2, we define conformance and introduce algorithms A, B, and C for compliance verification. In Section 3, we present the switch architecture and the Dual Proportional-plus-Derivative Controller (DPDC) for ABR service. Numerical examples and simulation results are described in Section 4. Conclusions are given in Section 5.

2 ABR Conformance

2.1 Definition of ABR delays [1]

The characteristics of traffic received at the private or public UNI (User Network Interface) on a given ABR connection depend critically on the delays between that interface and the source that generates the traffic. The delays most relevant to the characteristics of a flow received at the interface are defined relative to the transmission times of each CLP = 0 (Cell Loss Priority) cell by the traffic source. A transmission time for a CLP = 0 cell is called an Ideal Transmission Time (ITT) if the difference between itself and the transmission time for the previous CLP = 0 cell on the connection is greater than or equal to the minimum of :

·

the inverse of the Allowed Cell Rate (ACR) in effect immediately after the transmission of the first cell of the two cells and

· the inverse of the ACR in effect immediately before the transmission time of the second of the two cells.

The ACR is computed in accordance with the ABR source reference behavior [1]. The minimum of two items above is taken because an ABR source has the option of rescheduling the next cell to be transmitted on a connection when new feedback is received.

Two delays, t1 and t2 are particularly relevant to traffic characteristics at an interface. The delay t1 denotes the time from a cell's transmission time by the traffic source to its receipt at the interface in question. The second delay t2 denotes the sum of :

· the delay from the departure at the interface in question of a backward RM cell to the receipt of the RM cell by the traffic source, and

· the delay from the next transmission time for a CLP = 0 cell on the connection (following the receipt of the RM cell by the traffic source) to the arrival at the interface in question of that CLP = 0 cell.

Hence, t1 is the one way transfer delay from the source to the interface and t2 is the round trip feedback delay between the interface and the source, excluding the residual of the inter-cell interval between successive transmission times.

2.2 Generic Cell Rate Algorithm (GCRA)

The GCRA is used to define conformance with respect to the traffic contract. For each cell arrival, the GCRA determines whether the cell conforms to the traffic contract of the connection. The Usage Parameter Control (UPC) function may implement the GCRA, or one or more equivalent algorithms to enforce conformance.

The GCRA is defined with two parameters: the Increment (I) and the Limit (L). The notation GCRA(I,L) means the Generic Cell Rate Algorithm with the value of the increment parameter set equal to I and the the value of the limit parameter set equal to L. The GCRA is formally defined in Fig. 1.

Figure 1:
One version of GCRA

2.3 Traffic Contract and Conformance Definition for ABR Service

The algorithm that defines conformance at an interface for each CLP = 0 cell on a connection implicitly defines the response expected of the ABR end-system to feedback contained in backward RM cells on the reverse connection. This feedback may include information in the Explicit Rate (ER) field or the Congestion Indication (CI) or No Increase (NI) bits in each backward RM cell.

The ABR conformance definition must satisfy the following design constraints relative to parameters t 1, t 2, and t 3 as specified for the connection, and the delays t1and t2 as defined in Section 2.1.

1. The conformance definition shall identify each CLP = 0 cell as either conforming or non-conforming.

2. The conformance definition shall identify all CLP = 0 cells on a connection conforming if all CLP = 0 cells on a connection conform to GCRA(1/MCR, t 1) where MCR is ABR source Minimum Cell Rate.

3. The conformance definition used at an interface shall find a CLP = 0 cell non-conforming only if its arrival time there and those of the preceding conforming CLP = 0 cells on the connection could not have resulted from the ITT (see Section 2.1) of an ABR source and delays t1 and t2 for the connection satisfying t 3£ t 2£ t 2 and max(t1) – min (t1) £ t 1.

The parameter t 1 is the CDVT (Cell Delay Variation Tolerance) for the ABR Connection. t 2 and t 3 are respectively, the upper and lower bounds on the delay after which the rate change induced by a backward RM cell departing from an interface (in the backward direction) is expected to be observed at the interface (in the forward direction).

2.4 Dynamic GCRA (DGCRA)

In this section we describe an ER-conformance test satisfying (1)-(3) in Section 2.3 which is referred to as Dynamic GCRA (DGCRA). ER-conformance accounts only for feedback information conveyed in the ER field of the backward RM cell and hence does not test whether the connection observes feedback conveyed in the CI or NI bits of the RM cell. The DGCRA objectively defines ER-conformance on a cell-by-cell basis and thus establishes the number of ER-conforming cells on the connection over any specified interval.

A key property of the proposed ABR conformance test, based on the DGCRA, is its optimality [2]. This property reflects on its effectiveness and fairness of the test. The DGCRA differs from the GCRA described in Section 2.2 primarily in that the increment I changes with time, as determined by ABR feedback information conveyed on the corresponding backward connection. The DGCRA checks the conformance of all CLP = 0 cells on the ABR connection. The increment I may change on the arrival of any CLP = 0 cell on the connection, and the increment calculated on the arrival of the kth CLP = 0 cell on the connection is denoted by I(k). At the arrival time ta(k) of this kth cell, the DGCRA algorithm first calculates I(k) and then checks the cell's conformance and updates its own Last Virtual Scheduling Time (LVST) as presented in Fig. 2.

Figure 2:
Dynamic Generic Cell rate Algorithm

The tolerance t 1 which accommodates jitter or bursts, is a constant that does not depend on k. In the special case where I(k) = I (a constant) for all k, the above algorithm is equivalent to GCRA (I, t 1). The DGCRA accounts for the option of the source to reschedule the next cell transmitted on a connection when new feedback is received.

The selection of I(k) depends on two additional delay parameters t 2 and t 3 for the connection. The interval I(k) must satisfy the constraints that I(0) = 1/ICR and that 1/PCR £ I(k) £ 1/MCR for k ³ 1, where MCR is the Minimum Cell Rate, ICR is the Idle Cell Rate, and PCR is the Peak Cell Rate for the connection. The sequence {I(k), k ³ 1} of increments, which are successfully used at the arrival times {ta(k), k ³ 1} of CLP = 0 cells at the interface, depends on the sequence {ER(j), j ³ 1} of explicit rates sent across the interface at departures times {tb (j), j ³ 1} of CLP = 0 backward RM cells. The DGCRA defers mapping increases in the sequence {ER(j)} into I(k) until after a lag t 3, and defers mapping decreases in {ER(j)} into I(k) until after a lag t 2. This accommodates the behavior of a connection that requires at least a time t 3 and at most a time t 2 > t 3 to affect the instructed changes in the rate at which cells arrive at the interface. In addition to checking the use by the source of explicit rate feedback, the DGCRA also checks for consistency with the specified ABR source behavior under RM cells return failure conditions.

Two algorithms A and B for determining the increment I(k) are presented below. Algorithm A results in a tighter conformance test, but does so at the expense of needing to keep track (e.g.via a linked list) of potentially large number of scheduled changes to these increments over a moving interval of length t 2 - t 3. Algorithm B is a simpler test where at most two scheduled changes need to be stored.

2.4.1 Algorithm A to determine I(k)

Algorithm A uses the following algorithm to define the Potential Allowed Cell Rate {PACR(k), k ³ 1} from which the increment {I(k), k ³ 1} is derived by taking the inverse (the more detailed version of the algorithm is given in [1]). At each arrival time ta(k) of a CLP = 0 cell for k ³ 1 the following tests are performed:

· If cell k is a CLP = 0 forward RM cell then check if the reduction of ACR to ICR has taken effect.

· If the set of indices of CLP = 0 backward RM cells such that 0 < tb(j) £ ta(k) - t 2 is non-empty then find the largest element jmax. In this case, the PACR should be equal to ICR or ERjmax depending when RM cell jmax reached the source. Also, check if the counter for unacknowledged RM cells should be set to zero.

· If the set of indices of CLP = 0 backward RM cells such that ta(k)- t 2 < tb(j) £ ta(k)- t 3 is non-empty then take the largest explicit rate in this set (ERmax) and then set the PACR to minimum of ERmax and the rate found above.

· If cell k is a CLP = 0 then increase a counter of unacknowledged RM cells and check if this number is greater than a given threshold. In case when the threshold is exceeded, the PACR should be reduced according to source behavior rules [1].

· Check if MCR £ PACR £ PCR, and compute I(k) as I(k) = 1/PACR(k).

From the list above it is obvious that algorithm A needs to keep a track of at least, all ER fields of backward RM cells arrived in the last t 2 time interval.

2.4.2 Algorithm B to determine I(k)

Algorithm B is a an approximation to algorithm A in the following sense: At a forward CLP = 0 cell arrival, the PACR derived in the algorithm B is greater than or equal to the PACR resulting from algorithm A. Like algorithm A, algorithm B derives the PACR from the explicit rates received in the backward RM cells. A received backward RM cells results in a delayed increase or a delayed decrease of PACR. Rate increases are scheduled with delay of t 3 or earlier. Rate decreases are scheduled with a delay of t 2 or later.

In algorithm B, at most two rate change events are scheduled: The first event is scheduled at time tfirst with delayed explicit cell rate DERfirst. The second event is scheduled at time tlast with DERlast. When scheduled, DERlast is always a decrease in rate. Whether an explicit rate results in a rate increase or rate decrease is determined by comparing ER with DERfirst and with PACR.

If ER is greater or equal to DERfirst and PACR, then a rate increase is scheduled. If a rate increase has been scheduled for time tfirst and this rate has not yet taken effect, then a further rate increase uses ER, and takes effect with a delay less than t 3 while the first increase scheduled for time tfirst takes effect with delay t 3. In other words, when ER is greater than DERfirst, the event is scheduled for time tfirst but not later than tnow + t 3.

If ER is smaller than DERfirst than a rate decrease is scheduled for time tnow + t 2. More details can be found in [1].

In [3] it is shown that the current algorithm B polices at a higher rate than necessary, and some modifications have been proposed. The same author has also shown in [4] that the accuracy of the policer would be improved if algorithm B made use of more than two-time stores. The performance improvement would be achieved at the expense of complexity in the implementation of algorithm B. In this paper we have used the original algorithm B defined in [1] for all simulation runs.

2.5 Algorithm C

In addition to algorithms A and B we shall consider a very simple policer consisting of buffers and rate scheduler for each VC (Virtual Channel). The rate scheduler for each VC will always play out towards the network at a rate which is equal to the rate obtained from the ER field of the last received backward RM cell belonging to the VC. This scheme requires only per VC buffering without computation of policing rate. The buffer is dimensioned to absorb any rate mismatch which occurs due to a round trip delay between the interface at which policing is performed and the source (see time t2 in Section 2.1). The low complexity of the policer is achieved at the expense of the buffer space for each VC that should accommodate any rate mismatch in at least t 3 time interval. In further text, this algorithm will be referred to as algorithm C.

3 A Dual Proportional-plus-Derivative Controller (DPDC) for ABR Service

In [5], an explicit rate controller based on the control theoretic principle was developed. It uses two proportional-plus derivative controllers. The first PD controller has a low gain and is used to track the operating point under steady state conditions. The second is a high gain PD controller which in conjunction with an initial rate recovery filter is used to restore the operating point under transient conditions. The dual PD controller was demonstrated to have excellent transient and steady performance under a variety of operating conditions and propagation delays.

3.1 Switch Architecture

We assume a generic input and output buffered switch as a reference model. The switch has K input/output ports. Each input port has K logical queues for ABR traffic, with one logical queue designated for each output port. Logically separated queues for transferring cells from the input port buffer to the selected output port buffer eliminate the head of line blocking effect. Further, selective flow control between the output and input port buffers eliminates cell loss at the output port buffers.

At a given input port p (p = 1, 2,..., K), logical queue Qpqin queues ABR cells that have to be routed to output port q (q = 1, 2,..., K). With respect to a specific output port q, the queue length that is of interest is the sum of all ABR cells that are waiting at various input logical queues, ready to be routed to output port q, as well as the number of ABR cells waiting at the output queue Qqout of port q. The number of ABR cells Nqg in the global queue Qqg with respect to output port q is given by

where Nqout is the number of ABR cells in the output queue Qqout of port q, and Npqin is the number of ABR cells in input port p waiting to be routed to output port q. Associated with each output port q (q = 1, 2,..., K), is an ER controller, that determines the rate of each ABR VC, switched through output port q (q = 1, 2,..., K), based on the number of ABR cells Nqg in the global queue Qqg.

3.2 Design of the PD Controller for ABR Service

The switch computes a common rate Rq(t), common to all ABR connections using output port q, once every Ts msec. The common rate Rq(t) for each output port q is computed based on the number of ABR cells Nqg in the global queue Qqg. Successive RM cells of the same VC will be stamped with the explicit rate ER computed from Rq(t) during a Ts period.

The PD controller is defined by the following equation :

where

Cqabr is the maximum available capacity for ABR service, Nqg(n - i) (i = 0,1) is the number of ABR cells in the global queue Qqg of output port q, measured at time t(n - i), Nq0 is a buffer set point, Rq(n-j) (j=0, 1,..., D) is the common rate computed at time t(n - j) for time slot [n - j, n – j + 1), and D is the largest round trip delay measured in time slots Ts. The saturation function, defined in (2) , is introduced to impose a bound on Rq. While Cqabr can be no larger than the link capacity, the Call Admission Controller (CAC) may set a lower value based on the bandwidth reserved for services with higher priority than ABR service.

The control algorithm is defined by the coefficients a 0, a 1, b 0, b 1, which are chosen to ensure good dynamic characteristics of the closed loop system. From a steady state analysis it can be shown that the control gains, a i and b j, must satisfy the following requirements :

The characteristic polynomial of a closed loop system can be represented as [6]:

where

and the coefficients g 1,g 2,...g D+2 are uniquely defined by the control gains a 0, a 1, b 0, b 1,...b D. Thus, one of the closed loop poles is located at the origin and the remaining D + 2 poles can be chosen at will within the unit circle. The control gain parameters a’s and b’s can be found for a given L=(l0, l1,...,lD)T [6].

3.3 Design of the Dual Proportional-plus Derivative Controller (DPDC)

When the model of the system changes with time, a single PD controller (designed off-line) cannot simultaneously achieve a good transient as well as a good steady state response. Thus, it is clear that we need a variable gain filter that adapts itself as the the system model changes. We use two PD controllers designed for two widely different traffic patterns, in conjunction with a third filter that bridges the gap between two PD controllers.

The first controller is a Low Gain PD Controller (LGC) that is designed for the case when the number of bottlenecked sources at output port q is very large i.e., the li's are large for all i's. Since the control gains a 0, a 1, b 0, b 1,...b D have small values, we call this controller a low gain PD controller. The LGC is used under steady state traffic conditions. The LGC ensures stability of the closed loop system for all actual values of l¢i£ li (i = 0, 1, 2,..., D), where l¢i is the actual number of bottlenecked sources at distance i from the switch under consideration, and li is the corresponding number of sources assumed in the LGC design. Since the information about L is not available, we have used a robust design approach [6] with fixed control gain so that the stability and performance requirements are satisfied for all admissible values of L.

When the number of active VCs is significantly below the value assumed in the LGC design, the corresponding link of output port q can be poorly utilized. This occurs during the transient periods since the step response of LGC has a slow rise time. To solve this problem, we use the HGC, where the control gains a 0, a 1, b 0, b 1,...b D are larger than in the LGC case. This is achieved by assuming a small number of bottlenecked sources and choosing the closed loop poles in such way that the impulse response has a fast rise time at the expense of buffer overshoot. The HGC will bring the operating point quickly to the equilibrium value, at which point the LGC will takeover and stabilize the system for small deviations around the equilibrium point. It is important to emphasize that the HGC does not ensure stability of the closed loop system. However, it is used only for a short period of time before switching to the LGC. The decision to switch between the HGC and LGC is made by comparing the link utilization Uqabr with a given threshold Tut. If Uqabr falls below Tut, and the queue size is less than Tgl, the HGC is activated; otherwise, the LGC is used.

We now consider the case when an overload occurs (e.g., the available capacity Cqabr reduces significantly or too many VCs become active in a short interval). While the two PD controllers can restore the operating point to its normal value, they may not be able to react fast enough to prevent large queue buildup. When the operating condition significantly differs from the assumed model, in order to prevent queue buildup and cell loss, we use an Initial Recovery Rate Selector (IRRS). This filter ignores the past and quickly brings the common rate Rq(n) to the normal operating point. The operation of IRRS is triggered when the number of ABR cells in the global queue Qqg exceeds a queue threshold Tgh or when the excess input rate to Qqg exceeds a threshold Tex. The easiest way to bring the common rate close to the equilibrium point is to divide Rq(n) obtained from the LGC by a constant KIRRS.

4 Numerical Examples

4.1 Network Model

Fig. 3 shows a peer-to-peer network configuration with two generic input/output switches, SW1 and SW2. Each input port has 4096 cell buffers and each output port has 128 cell buffers. 6 ABR sources, namely, A(1), A(2), ..., and A(6) are attached to the input ports of switch SW1. The distance from sources A to switch SW1 is 100 Km. Each transmit terminal has one virtual circuit that is terminated on a unique receive terminal. The receiving terminals are attached to the output port of switch SW2. The distance from the receiving terminals to switch SW2 is 1 Km. The distance between switches SW1 and SW2 is 1000 Km. There is an ABR policer at each input port of switch SW1. All links have a capacity of 155 Mbps.

Figure 3:
Peer-to-peer network model

One VBR source is attached to an input port of SW2. The distance from the VBR source to switch SW2 is 1 Km. From this network configuration it is obvious that two potential places of traffic congestion are: the output port of switch SW1 and the output port of switch SW2. At the output port of switch SW1 there is bandwidth contention among ABR sources, whereas at the output port of switch SW2 congestion is a result of bandwidth contention among ABR sources and one VBR source. Note that VBR service has service priority over ABR service in switch SW2. Also, there are no ABR policers at switch SW2.

From Fig. 3 it follows that the round trip propagation delay between switch SW1 and group A sources is 1 msec (200 Km). Based on this parameter, we set the policer's parameters t 1, t 2, and t 3 at the following values: t 1 =0.01 msec, t 3 =1 msec, and t 2 = t 3 + 2 = 3 msec. These parameters are kept constant during all simulation runs.

4.2 Traffic Model

Each ABR source generates traffic based on a 3-state on-off source model [7] . A source can be either in an active state or in an idle state. In the idle state no traffic is generated by the source. While in an active state, the source generates a series of packets or bursts which are interspersed by short pauses. Each packet is of 8 Kbytes in length. Each pause period is drawn from a negative exponential distribution with a mean of 1 msec. The number of packets generated during an active period is geometrically distributed with a mean of 99 packets. The idle periods are drawn from a negative exponential distribution with a mean of 1 msec. The average offered load at the output port of SW1 is 1.75 times its maximum link capacity. The on-off traffic model is a more realistic model than a traffic model with infinite backlog.

We assume that loss of at least one cell cell implies loss of a corresponding packet. There is no retransmission protocol. We choose as a performance criterion the source throughput at the packet level (expressed in Mbps) which represents the number of successfully transmitted packets (expressed in Mb) within selected time interval (expressed in sec). We shall compare packet throughput of violating and non-violating ABR sources in order to verify fair distribution of available ABR bandwidth among competing sources. The results will also show how well the DPDC scheme and the ABR policer cooperate in achieving fair rate allocation policy.

The ABR source parameters are chosen as follows: PCR = 365 cells/msec (155 Mbps), ICR = MCR = 4 cells/msec (1.5 Mbps), RIF = 1/32 and RDF = 1/16. This choice is in line with the ATM Forum recommendation [1].

The VBR source (attached to the input port of switch SW2) generates high priority VBR traffic which is a time varying (on-off model). In the experiments described in this paper, active and idle periods are set at 200 msec, and the Peak Cell Rate (PCR) is set at 50 Mbps. Thus, its average rate is 25 Mbps.

4.3 Determination of DPDC Parameters

The sampling interval is chosen as Ts = 1 msec. The corresponding thresholds are chosen as follows: Nq0 = 50 cells, Tut = 80% , Tgh = 2000 cells, Tgl = 3 cells, Tex = 190 cells/msec (80 Mbps).

In the LGC design, we assume that the largest round trip delay D, measured in time slots Ts is D = 10 (i.e. 10 msec), and the number of bottlenecked sources at output port q is L = (5,5,...,10)T. We use a robust design approach for the LGC which ensures stability of the closed loop system for all actual values of li (i = 0, 1, 2,..., 10), less than L.

In the HGC design, we assume the round trip delay D = 0, and L = 50. Note, that the dimension of vector L is also reduced from 11 to 1. The characteristic polynomial B(z) from (7) has dimension D + 2 = 2 and therefore, the gains are specified by the choice of two closed loop poles. We choose them as follows:

so that the corresponding coefficients are

4.4 Experiment 1

In the first experiment we analyze the effectiveness of the DPDC scheme and the ABR policer with algorithm A in achieving the fair rate allocation among violating and non-violating ABR sources as well as in maximizing the overall network throughput. We use algorithm A in all ABR policers (at the input ports of switch SW1) since it represents the tightest ER-conformance test.

In this experiment we vary the following three parameters:

1. The number of violating sources Nv.

2. The degree of violation Kv.

3. The global queue threshold NCLP for discarding CLP = 1 cells.

In the list above, Nv{0,1,...,6}. Case Nv= 0 is the reference case (no violating sources). Case Nv = 6 is the case when all ABR sources are violating their traffic contract.

Upon receipt of a backward RM cell, each violating source computes its ACR as Kv times the ACR computed in a non-violating case. In this experiment Kv={2,10}.

We assume that the policer with either algorithm A or B only marks violating cells by setting the CLP bit to 1, and does not discard any of the marked cells (CLP = 1). When tagged cells (CLP = 1) arrive at the input ports of switch SW1, if the total number of cells in the global queue of the corresponding output port which they are supposed to be routed through, is greater than threshold NCLP the cells will be discarded. Otherwise, they are accepted at switch SW1, but they will face the same test in all downstream switches (in this case switch SW2 only) running the DPDC algorithm. In this experiment NCLP = {0,32,64,128,256,512,1024,4096} cells. Case NCLP=0 is the case when all tagged cells are discarded regardless of the level of congestion in the global queue. Case NCLP=4096 is the case when all tagged cells are allowed to get through if there is buffer space. This discard mechanism is a part of the DPDC scheme, and we wish to examine its interaction with the policing mechanism with respect to the fair allocation of ABR bandwidth and the overall network throughput.

In Fig. 4 we depict the packet throughput of sources A(1) and A(6) with respect to global queue threshold NCLP when source A(1) is violating its ACR by a factor of Kv= 2 and Kv= 10, respectively. Notation A(1), Kv= 2 denotes the throughput of source A(1) when Kv= 2. For the sake of comparison we also show in the same graph the throughput of sources A(1)-A(6) (A(1), Kv= 0) when there are no violating sources. Fig. 5 shows the performance for the case when there are 3 violating sources (A(1)-A(3)) instead of only one (A(1)). Case of 5 violating sources (A(1)-A(5)) is shown in Fig. 6 and the case when all 6 sources are violating their traffic contract is depicted in Fig. 7.

Figure 4:
Experiment 1: Nv= 1
Figure 5:
Experient 1: Nv= 3
Figure 6:
Experient 1: Nv= 5
Figure 7:
Experiment 1: Nv= 6

Let N2CLP be a value of the threshold NCLP, for which the throughputs of sources A(1) (a violating source) and A(6) (a non-violating source) are equal, and when Kv= 2. Similarly, N10CLP applies to the case of Kv= 10. Note that except for Fig. 7, A(1) is a violating source and A(6) is a non-violating source. From Fig. 4, 5, and 6 it follows that N10CLP < N2CLP regardless of the number of violating sources Nv= {1,3,5}. In other words, in order to provide the same throughput per source (either violating or non-violating) the threshold NCLP should be set at lower values if the degree of violation (Kv) is larger. Note that even though for a given threshold value all sources get the same throughput, this equilibrium throughput is always lower than the throughput in the case when there are no violating sources (A(1), Kv= 0).

From Fig. 7 it is obvious that all ABR sources in spite of violation achieve the same throughput at the packet level. Since all sources violate the contract, the threshold NCLP does not play any role in protecting the throughput of non-violating sources from the greedy violating sources.

In Fig. 8 we depict the total network packet throughput with respect to global queue threshold NCLP for Nv = {1,3,5,6}, respectively and Kv = 2. We also show the total network throughput for case Nv = 0 which is the reference case. From Fig. 8 we conclude that a decrease of threshold NCLP implies a reduction of the total network throughput. The same conclusion can be drawn from Fig. 9 where the degree of violation is increased, Kv = 10. In this case a decrease of NCLP triggers even higher reduction in the network throughput compared to the case of Kv = 2. To summarize, the ABR control reacts to rate violation by reducing the advertised rate. While this tends to protect the total network throughput, it results in severe unfairness to well behaved users.

Figure 8:
Experiment 1:Kv= 2
Figure 9:
Experiment 1: Kv= 10

Analyzing the results from experiment 1, we conclude that there is a tradeoff between:

• the fair rate allocation among violating and non-violating ABR sources, and

• maximization of the total network throughput

with respect to the choice of threshold NCLP. Smaller values of NCLP will fairly distribute available ABR bandwidth among sources but the total network throughput will decrease. Since our first objective is to prevent the violating sources from stealing bandwidth from non-violating sources, we set NCLP at a value of 32 cells. Such a low value for NCLP will protect the throughput of non-violating sources from the throughput of violating sources. This low threshold however still leaves the possibility for violating sources to use the available bandwidth for ABR service if the network is not congested (the global queue size is smaller than NCLP).

4.5 Experiment 2

In this experiment we change the way an ABR source violates its traffic contract. In the previous experiment, upon receipt of a backward RM cell, the source finds its new ACR as the product of the ACR obtained by the rules of ABR source reference behavior [1] and the constant Kv (Kv > 1). Here, each backward RM cell is delayed by a random interval drawn from a truncated normal distribution with a mean of 0 msec and a variance of 4 msec. The random delay is limited to 8 msec. Upon receipt of a delayed RM cell, the source computes its ACR with no violation.

This type of a delayed reaction can easily occur in software-only based implementation of the ABR source algorithm which is likely the case in the first deployment of ABR service in ATM networks. Again, we have used algorithm A and 3 violating sources (Nv = 3): A(1), A(2), and A(3). The global threshold NCLP is chosen as NCLP = {32,4096} cells. The first value of NCLP is obtained from experiment 1. The second value (NCLP=4096) corresponds to the case when tagged cells of violating sources are not discarded. Results are shown in Table 1.

From Table 1 it follows that the threshold NCLP set at 32 cells again protects throughput of non-violating sources from being overwhelmed by violating sources. The throughput of source A(6) (19.22 Mbps) actually rises compared to the case where there are no violating sources (19.20 Mbps). Due to discarding of tagged cells from violating sources, the total network throughput at the packet level decreases from 140.09 Mbps to 113.37 Mbps. When the discard mechanism is turned off (NCLP = 4096), the total throughput rises to 124.38 Mbps but the throughput of source A(6) (non-violating source) decreases to 17.18 Mbps. Still, the effect is not as pronounced as in the first experiment. From these results we can see that the processing delay of backward RM cells belonging to violating sources does not have the same impact on the throughput of non-violating sources like the increase in ACR over its correctly computed value. The discard threshold NCLP set at 32 cells appears to be a good choice between maintaining fairness and efficiency.

4.6 Experiment 3

In this experiment we compare 3 policing mechanisms, namely A, B, and C which are described in Section 2. There are 3 violating sources (Nv=3): A(1), A(2), and A(3). Like in the first experiment, upon receipt of a backward RM cell, each violating source computes its ACR as Kv times the ACR computed in a non-violating case. In this experiment Kv={2,...,10}. The global threshold is NCLP=32 cells. Note that this parameter is relevant only for algorithms A and B since algorithm C shapes the traffic such that all cells admitted into the network are conforming.

Each policer in algorithm C has 512 cell buffers (per VC buffer). Note that the round trip delay between the interface (input ports of switch SW1) and sources in group A is t 3 = 1 msec which corresponds to a bandwidth delay product of 365 cells at a 155 Mbps link. Therefore, this buffer size is large enough to absorb any rate mismatch which occurs in the t 3 time interval but not in the t 2 time interval (t 2 = 3 msec). In order to protect RM cells of being lost in the policer's buffer, we have set for data cells a discard threshold at a value of 384 cells which is smaller than the buffer size. Whenever the number of cells in the policer's buffer exceeds this threshold, a newly arriving data cell is discarded whereas an RM cell is accepted if there is buffer space.

In Table 2, we present the percentage of non-conforming cells of violating source A(1) detected by algorithm A and B, respectively, for different degrees of violation Kv. The results show that the percentage of non-conforming cells detected by algorithm B is slightly smaller than the percentage of non-conforming cells detected by algorithm A. This confirms the previous statement from Section 2 that algorithm A is a tighter ER-conformance test than algorithm B. Comparing the difference in the performance of these two algorithms and taking into account complexity in the implementation of algorithm A compared to the implementation of algorithm B, it appears that algorithm B is a good choice for the ER-conformance testing.

Throughput of violating source A(1) under algorithm A, B and C, respectively, for Kv={1,...,5} is shown in Fig. 10. From Fig. 10, it is obvious that algorithms A and B result in the same throughput for violating source A(1) as opposed to algorithm C which results in a higher throughput for the misbehaving user. In fact, algorithm C takes the bandwidth from non-violating source A(6) whose throughput is shown in Fig. 11, and allocates it to violating source A(1). Even though the total network throughput under algorithm C is higher than under algorithms A and B (Fig. 12), the unfair distribution of bandwidth between violating and non-violating sources makes this algorithm inferior compared to algorithms A and B. The unfairness in algorithm C exists because when the advertised ER increases, the policer's scheduler jumps to the advertised ER value immediately.

Figure 10:
Throughput of A(1) under A,B and C
Figure 11:
Throughput of A(6) under A, B and C
Figure 12:
Network throughput under A, B and C

This allows the violating users to capture the bandwidth immediately while the non-violating sources are slowly ramping up their rates (see [1]). A virtual source that executes the source algorithm in the policer's scheduler would significantly overcome this limitation.

5 Conclusion

To ensure the goals of ABR service are satisfied, especially in public networks, it is essential to police sources and penalize violating sources when deemed necessary. We have investigated 3 policing mechanisms in terms of their effectiveness in maintaining a high utilization and ensuring fairness among all competing users. This study shows that the ABR controller is self regulating and deals with the overload created by marginally violating sources by reducing the advertised explicit rate and thereby reducing the possibility of congestion. This however is at the expense of unfairness towards well behaved users, whose throughput is reduced. Policing and consequent penalization restore fairness at a small reduction in utilization. Because the ABR controller is self regulating, a simple policing mechanism such as algorithm B is sufficient to regulate violating sources, thereby protecting the network while maintaining high utilization and fairness.

  • [1] ATM Forum Technical Committee TMWG. ATM Forum Traffic Management Specification Version 4.0. 1996.
  • [2] A. W. Berger and F. Bonomi and K. W. Fendick. The ABR Conformance Definition: More Motivation and Optimality. ATM Forum/95-0481, Apr. 1995.
  • [3] J. Adams. Improved Algorithm B for ABR Conformance. ATM Forum/96-0616, Apr. 1996.
  • [4] J. Adams. Generic n-store Algorithm B policer for ABR Conformance. ATM Forum/96-1324, Oct. 1996.
  • [5] A. Kolarov and G. Ramamurthy. A Control Theoretic Approach to the Design of Closed Loop Rate Based Flow Control for High Speed ATM Networks. In Proc. of INFOCOM '97, Kobe, Japan, pp. 293-301, Apr. 1997.
  • [6] L. Benmohamed and S. M. Meerkov. Feedback Control of Congestion in Packet Switching Networks: The Case of a Single Congested Node. IEEE/ACM Trans. on Networking, 11(6): 693-707, 1993.
  • [7] A. Kolarov and G. Ramamurthy. Comparison of Explicit Rate and Explicit Forward Congestion Indication Flow Control Schemes for ABR Service in Wide Area Networks. In Proc. of IFIP-IEEE Conf. on Broadband Commun, Montreal, Canada, pp.123-134, Apr. 1996.

Publication Dates

  • Publication in this collection
    31 July 2000
  • Date of issue
    Feb 1999
Sociedade Brasileira de Computação Sociedade Brasileira de Computação - UFRGS, Av. Bento Gonçalves 9500, B. Agronomia, Caixa Postal 15064, 91501-970 Porto Alegre, RS - Brazil, Tel. / Fax: (55 51) 316.6835 - Campinas - SP - Brazil
E-mail: jbcs@icmc.sc.usp.br