AQM Letter on Correction by c7iileio90


									        Removal of the Noise Source Inherent to AQM
                       Ajay Mansata, Salil Talauliker, Manali Joshi, and Cory Beard, Member, IEEE

   Abstract—Many Active Queue Management (AQM)                                                           60
implementations drop packets randomly as a function of the
average queue fill. Over a short window of time, all packets are
dropped with virtually equal probability. This causes the actual
number of dropped packets to vary according to a binomial

                                                                                  Queue Fill (packets)
distribution, and can result in a significant difference between the                                     40
actual numbers of dropped packets and the expected. As a
result, this introduces unnecessary noise to the system which                                            30
substantially affects variations in queue fill. A new approach to
calculating dropping probabilities is proposed here that adapts                                          20
the dropping probability over a window of packets and ensures
that the number of packets that are actually dropped is virtually
equal to the number that are expected to be dropped. It is shown
here that this substantially reduces unnecessary variance in
queue fill.                                                                                               0
                                                                                                           10   11   12            13   14   15
   Index Terms—Active queue management, random early                                                                  Time (sec)
                                                                            FIGURE 1 – QUEUE FILL VERSUS TIME FOR
                       I. INTRODUCTION                                    CONSTANT RATE TRAFFIC WITHOUT DROPPING
    The technique of Active Queue Management, as a                                       CORRECTION
generalized extension to Random Early Detection can be                                                   60
applied for managing best effort traffic in two ways.
1. To provide early congestion feedback information to
                                                                           Queue Fill (packets)

   adaptive TCP sources.                                                                                 40
2. To filter out packets from non-adaptive sources (e.g.,
   UDP sources) to avoid unfairness in the queue.                                                        30

      When used in the context of multiple interacting                                                   20
classes of traffic within a single queue, such as with the
three drop precedence levels within an Assured                                                           10
Forwarding Diffserv class [1] [2], AQM can also be used
to provide preferential treatment to certain packets (i.e.,                                              0
                                                                                                          10    11   12        13       14   15
lower packet dropping probabilities) [3]. This capability                                                             Time (sec)
can be especially helpful for cases where service
providers wish to support emergency traffic [4] or                          FIGURE 2 – QUEUE FILL VERSUS TIME WITH
provide premium services to particular customers.                                      DROPPING CORRECTION
      Regardless of the reason for its implementation,                 will have to be unnecessarily large to avoid tail drops,
however, AQM fundamentally acts as a filter. It is used                delay variation can be unfavorably large, and in the case
to prevent certain packets from entering a queue based                 of multiple classes of traffic, packets might not be
on a combination of QoS, delay, and queue stability                    dropped in accordance with their priorities.
objectives.                                                                Therefore, if input traffic has no variation (i.e., is at
      One of the purposes for AQM, and really the whole                a constant rate), one should see very little variation in
concept of queueing itself, is to use buffering of packets             queue fill. As seen in Figure 1, however, for even the
to absorb temporary variations in traffic arrival rates                simplest implementation of AQM using Random Early
without causing packet drops. Therefore, it is not an                  Detection, this is not true.    This is the first time this
overall objective of AQM to minimize variance in queue                 problem has been identified and a solution proposed.
fill, because one would expect and desire some variation               Figure 1 shows the instantaneous queue fill for RED
if the input traffic has burstiness [5]. However, if                   with a link rate of 10 Mbps, constant rate input traffic of
variation in queue fill is unnecessarily high, queue limits            20 Mpbs, queue size = 100 packets, fixed packet
size = 4000 bits, minth=25, maxth=40, maxp=1.0, and                                       1
     Figure 2 shows results from the method presented in                              0.8
this paper. The improvements are visually obvious, but

                                                                 Dropping Probabilty pc
can also be seen numerically as a decrease in variance in
queue fill from 18.9 to 1.1.
               II. DROPPING CORRECTION                                                0.4
     Many forms of AQM determine a dropping
probability, pb, for a packet from some function of                                   0.2
current queue fill and queue fill history. Then packets
are dropped by comparing outputs from a random                                            0
number generator to the dropping probability value. If,                                       0     10     20       30    40   50
over a window of N packets the dropping probability is                                                    Packet Number
essentially constant, then the number of packets that will      FIGURE 3 – EXAMPLE VARIATION IN CORRECTED
dropped will be distributed according to a binomial                        DROPPING PROBABILITY
distribution. Such variation in the number of packet
drops is what causes the queue fill variations in Figure 1,        Therefore, the exact number of packets that needs to
because for a constant rate source there are no other         be dropped will exactly be dropped if Npb is an integer.
noise influences.                                             And if Npb is not an integer, the difference will be less
     When using an averaging function to find average         than one packet from Npb. This creates an elimination of
queue fill, for example from [5] with wq=0.002, average       the noise caused by the binomial distribution, except for
queue fill changes slowly and the packet dropping             roundoff errors. These roundoff errors are now the only
probability is relatively constant over hundreds of packet    cause of the variation seen in Figure 2. With a binomial
arrivals. And because AQM is supposed to act as a             distribution, however, an example for a 90% confidence
filter, one would wish to drop as close as possible to Npb    interval shows that the number of packet drops will fall
packets over a window size of N. The goal is to drop          within a wide interval of [42, 58] if pb = 0.5 and N = 100
Npb packets, not have packets dropped according to a          (Npb = 50).
binomial random variable. But it is still valuable to use          Probability correction was first proposed in [5], but
randomness to some degree to avoid bias or periodicity.       there it was used to modify the distribution of times
     The proposed approach still incorporates                 between packet drops instead of modifying the variation
randomness, but drops the expected number of packets          in the number of packet drops. Here the variance in
as follows. Given a dropping probability pb, packets are      queue fill is now much less dependent on effects from
dropped with a corrected probability pc, according to         noise internal to AQM. The remaining sections look at
                           Npb − cd                           the effect of this new approach on UDP variable rate
                   pc =                ,              (1)     traffic and look at the dependence of the effectiveness of
                          N − c d − ca                        this new approach on how the window size N is chosen.
where cd is the count of the number of packets dropped                                            III. VARIABLE RATE TRAFFIC
so far in a window, and ca is the count of the number of
packets accepted. These counters are reset at the                  As said previously, it is indeed desirable that the
beginning of each new window of N arriving packets.           queue fill vary in response to variations in input traffic
     At the beginning of the window, pc = pb, and then pc     rates. However, this variation should come only in
varies as the counter values change. If at some point         response to input traffic, not be influenced also by
Npb = cd becomes true, then all of the remaining packets      internally generated noise.      By implementing the
will be dropped with probability zero since the number        correction approach proposed here, we can see how
that are to be dropped has already been accomplished.         much variation is indeed in response to just the input
Conversely, pc = 1 will be used for the remainder of the      traffic variations.
window once Npb = N – ca is reached, meaning the                   An AQM implementation was simulated with 6
possible number of packets that could be accepted has         input sources, each exponential on-off sources with
been accomplished. The last packet will always be             average on times of 4 msec. and average off times of
dropped with probability 1 or 0 if pb does not change         1 msec. All of the other system parameters are the same
over the window and Npb is an integer. Figure 3               as for Figures 1 and 2.
illustrates and example of how pc might change over a              Figure 4 shows the variance in queue fill with
window of 50 packets for pb = 0.5.                            respect to changes in average aggregate input rates. The
                             50                                                       remaining system parameters are the same as for
                                                                                      Figures 1 and 2. First of all, regardless of the choice of
                                                                                      window size in the range from 5 to 100, the variance is
                                                                                      much lower than it would be without the probability
    Variance in Queue Fill

                                                           Uncorrected VBR            correction mechanism. Secondly, it shows that better
                             30                            Corrected VBR
                                                           Corrected CBR
                                                                                      variance levels occur when a window size of around 20
                                                                                      is used. And finally, the choice of the best window size
                             20                                                       appears to lie within a reasonably wide range.
                                                                                          It is expected that the choice of window size would
                             10                                                       depend on the queue averaging approach that is used.
                                                                                      Performance will be affected depending on the number
                             0                                                        of arrivals over which the average queue fill is expected
                              11      12   13    14     15 16 17    18     19   20    to be relatively constant. If an exponentially weighted
                                                      Load (Mbps)
                                                                                      average is used as in [5], and the widely used value of
   FIGURE 4 – VARIANCE WITH RESPECT TO INPUT                                          wq=0.002 is used, then one can expect a rather large
             LOAD FOR CBR AND VBR                                                     range of window sizes to be effective, as seen in
                             25                                                       Figure 5. Finding the best queue averaging approach,
                                                                                      however, is still an open research question [6] [7].
                                                                                                           V. CONCLUSION
    Variance in Queue Fill

                                                                  Uncorrected             This work has shown that AQM can have
                                                                                      substantial, unnecessary queue fill variance, even for
                                                                                      constant rate traffic inputs. It presents a window-based
                                                                                      probability correction mechanism that all but completely
                                                                                      eliminates unnecessary queue variance, except from
                                                                                      integer roundoff errors. This simple approach yields
                                                                                      substantial improvements in the way that Active Queue
                              0                                                       Management systems can now perform.
                                  0        20       40        60      80        100
                                                Window Size (packets)                                        REFERENCES
                                                                                      [1] S. Blake, D. Black, M. Carlson, E. Davies, Z. Wang, W.
                     SIZE                                                                 Weiss, “An Architecture for Differentiated Service”, RFC
improvement in variance that is created by use of this                                    2475, December 1998.
                                                                                      [2] J. Heinanen, et. al., , “Assured Forwarding PHB Group”,
probability correction mechanism is once again shown to
                                                                                          RFC 2597, June 1999.
be substantial. Also shown, however, is the fact that the                             [3] R. Makkar, I. Lamadaris, J. H. Salim, N. Seddigh, B.
variance for constant rate traffic is still much lower than                               Nandy, and J. Babiarz, “Empirical study of buffer
for variable rate traffic, so variable rate traffic does have                             management schemes for diffserv assured forwarding
some ability to cause variations in queue fill. This                                      PHB,” International Conference on Computer
correction eliminates the noise source inherent to AQM                                    Communications and Networks (ICCCN 2000), October
while still allowing variance related to input traffic.                                   2000, pp. 632-637.
                                                                                      [4] Manali Joshi, Ajay Mansata, Salil Talauliker, and Cory
IV. DEPENDENCE ON PROPER CHOICE OF WINDOW SIZE                                            Beard, "Design and Analysis of Multi-Level AQM
    Use of this window-based probability correction                                       Mechanisms for Emergency Traffic," Technical Report,
mechanism introduces an additional control parameter to                                   University of Missouri-Kansas City, available at
an AQM implementation, that of the window size, N.
                                                                                      [5] S. Floyd and V. Jacobson, “Random early detection
Pertinent questions arise, therefore, as to the sensitivity                               gateways for congestion avoidance,” IEEE/ACM
of system performance with respect to the window size.                                    Transactions on Networking, vol. 1, no. 4, pp. 397-413,
Of particular importance is to determine whether or not                                   August 1993.
improper selection of the window size might cause                                     [6] C. V. Hollot, Yong Liu, Vishal Misra, Don Towsley,
performance to be so poor that it might be better not to                                  “Unresponsive Flows and AQM Performance,”
use the correction factor.                                                                Proceedings of IEEE INFOCOM ’03, April 2003.
    Figure 5 shows that none of these issues cause                                    [7] A. Misra, T. Ott, “Effect of exponential averaging on the
substantial concern. It shows the variances in queue fill                                 variability of a RED queue,” Proceedings of IEEE
for 18 Mbps constant rate traffic on a 10 Mbps link. The                                  International Conference on Communications (ICC), June

To top