Skip to content
  • Eric Dumazet's avatar
    sch_red: Adaptative RED AQM · 8af2a218
    Eric Dumazet authored
    Adaptative RED AQM for linux, based on paper from Sally FLoyd,
    Ramakrishna Gummadi, and Scott Shenker, August 2001 :
    
    http://icir.org/floyd/papers/adaptiveRed.pdf
    
    Goal of Adaptative RED is to make max_p a dynamic value between 1% and
    50% to reach the target average queue : (max_th - min_th) / 2
    
    Every 500 ms:
     if (avg > target and max_p <= 0.5)
      increase max_p : max_p += alpha;
     else if (avg < target and max_p >= 0.01)
      decrease max_p : max_p *= beta;
    
    target :[min_th + 0.4*(min_th - max_th),
              min_th + 0.6*(min_th - max_th)].
    alpha : min(0.01, max_p / 4)
    beta : 0.9
    max_P is a Q0.32 fixed point number (unsigned, with 32 bits mantissa)
    
    Changes against our RED implementation are :
    
    max_p is no longer a negative power of two (1/(2^Plog)), but a Q0.32
    fixed point number, to allow full range described in Adatative paper.
    
    To deliver a random number, we now use a reciprocal divide (thats really
    a multiply), but this operation is done once per marked/droped packet
    when in ...
    8af2a218