Buffer Requirements and Cell Loss Rate for ATM ABR
Dr. Lawrence G. RobertsInterop, April 1996
The worst case impact on queue size in ABR operation is when an idle VC starts up. The only worse condition that might occur is if a switch let a new CBR call take all the bandwidth when many ABR VC’s were operating, but this case is under the control of the switch. It can delay the startup long enough for the ABR VC’s sources to be notified of the impending change. In fact, if it takes action on the CBR’s call setup 1st pass, it has considerable time before the call completes to make the bandwidth change and if the distance to the sources is the same, no extra delay would be needed.
Thus, considering the VC startup condition as the worst case, we need to determine the total Cells In Flight for a single VC starting up, and then the potential number of VC startups which could occur during the control cycle time of RTT. First we will consider the Transient Buffer Exposure (TBE) for a single VC.
Transient Buffer Exposure from startup
Based on the source rules, a VC should startup at ICR, and may continue at ICR for one Round Trip Time (RTT) or until the RM cell which a source must send upon startup returns. If the RM cell is delayed, the source rules require the source to rapidly decrease its rate after RTT since the unresponded RM limit parameter, CRM, is computed to expire at that time. We assume that the network node under consideration can support a bandwidth of W for all the VC’s and if some number, A, VC’s are operating after the new startup, then each will receive a bandwidth allocation of W/A. We assume that the round trip delay for the VC is RTT and that the switch does not support BECN so that the first RM cell must go to the destination and back to the source before the source rate can be corrected to W/A. As the return RM cell goes by the switch, the switch would mark the ER field to W/A and the source would adjust to this when the RM cell arrives. The source then adjusts its rate to W/A immediately after one round trip for the RM cell. Thus, the number of cells which the switch will receive in excess of that which it had planned for and expected to support from one new VC startup is ICR*RTT. Assuming that ICR was computed from the negotiated parameter TBE as recomended ( ICR=TBE/RTT ), then this product is in fact TBE. If ICR was set lower during call setup, we presume here that TBE is recomputed as TBE=ICR*RTT.
- Bandwidth of Switch Node: W
- Number of VC’s active: A
- Round Trip Time for RM cells: RTT
- Buffer Exposure from a startup: TBE
Number of VC's Likely to Startup At Once
Given TBE for a single VC, the important question is, "What is the size buffer required in order to absorb all the cells from all the VC’s which could startup within the time required to get the first one under control, with a probability like 10^-12 of a larger buffer being required?". This can be addressed by realizing that the startup of VC’s is a purely random process which can be modeled with the Poisson process. Only through a synchronized attack (within microseconds) could the startups become non-random. Thus, for the normal world, a Poisson model is good. The time period is RTT if we assume all the VC’s have the same delay. If any are shorter, the buffer required would be less so this is a conservative assumption. However, we do need a model for the traffic bursting on and off to obtain numerical results. We will assume that there are N sources, each of which wants to send Z cells and then goes to sleep for a random period with an average of Y milliseconds. We will determine the average number of VC’s, A, which are active at any given moment. The channel for this node is presumed to have a bandwidth of W which the explicit rate switches will share between the sources giving them each a rate of W/A. A source starting up gets to send TBE cells in the first RTT seconds. Then the rest of his block will be sent at a rate W/A.
- 1.1 The time for a source to send a burst is: S = RTT + (Z-TBE)*A/W
- 1.2 The average number of VC’s is: A=S*N/(S+Y)
Now, at the node in question, we can presume the flow control strategy when the traffic is heavy is to load the channel to a given utilization, U, like 95%. Since the channel bandwidth was W, the total traffic through the node is:
- 1.3 U*W = N*Z/(S+Y)
This is because the total number of VC’s times the traffic per VC also equals the total load. From 1.3 and 1.2 we get:
- 1.4 A=U*W*S/Z
and then using 1.1 to eliminate S :
- 1.5 A=RTT*U*W/(Z*(1-U+T*U/Z))
For the Poisson process, where r is the number of VC’s which can start with probability of loss L in RTT seconds:
- 1.6 The probability of r VC’s starting up is: P(r) = e-g * gr/r! where: g = (N-A)*RTT/Y
However, we can put g into terms of U and Z by using 1.3 and 1.5 to get:
- 1.7 g = RTT*W*U/Z
For a loss probability L, we need to find a k such that the sum of p(r) from r=k to r=¥ equals L. However, it turns out that p(r) decreases so fast that this sum is almost equal to p(r), so one can use:
- Find r such that: p(r)=L
From 1.6 and using the approximation : Ln(r!)=(r+.5)*Ln(r)-r+1 we obtain:
- 1.8: r = (g + Ln(L) + Ln(r)/2+1)/( ln(g) - Ln(r) )
The above equation is not a closed form but it converges quickly and is thus easy to compute.
- 1.9 The total buffer size required is then: BS = r*TBE
The Selection on Traffic Model Constant Z
Given the above formulas, one can examine the dependence of the buffer size on the one remaining traffic parameter, Z (the number of cells sent each burst). For values of Z above TBE the buffer size decreases as Z increases. For values of Z below TBE, the correct buffer requirement is BS=r*Z, since only Z cells are sent after startup, not TBE cells. Thus, the maximum buffer requirement occurs for Z=TBE and the typical buffer requirement will be between this maximum value and perhaps 1/2 this value. A graph of BS vs Z is shown in figure 1. It shows that guessing correctly about the value of Z (average burst size) is not very critical to determine the buffer size within a factor of two. Clearly, one must obtain real operational experience within ones intended operational network before one will be able to set TBE optimally from a given buffer size. But, until such data has been collected, one can use the above formulation to estimate the buffer size required in order to assign a given TBE, either on a worst case basis by using Z=TBE or by selecting a typical burst size like 250,000 bytes (5,000 cells) of data.
Figure 1. Buffer Size vs Z with TBE=3500, ICR=PCR=353 c/ms, RTT=10ms, Error Rate = 10-12
Figure 2. Buffer Size required for ICR=PCR=353 c/ms, Z=5,000.
Figure 3. Startup rate vs error rate. Z=5,000
Figure 4. ICR vs Buffer Size , Z=5,000
Copyright © 2001 Dr. Lawrence G. Roberts