Rong,

That's a good rationale.
I withdraw my criticism of PIE on this point.

The code is OK, it's just the explanation that is misleading. it shouldn't say it is measuring the average dequeue rate, and there's no need to. It should describe the calculation as a moving average of the time to dequeue a set amount of bytes, scaled by the queue size relative to that number of bytes.

Cheers


Bob

On 26/05/17 19:29, Rong Pan (ropan) wrote:
Michael and Bob,

The depart_rate is inversed in calculation delay….
Delay = queue_length/depart_rate;
Hence, current_qdelay = queue_.byte_length() * PIE- >avg_dq_time_/DQ_THRESHOLD;

Basically the average dq_time for dequeueing DQ_THRESHOLD is PIE->dq_time; What 
is the approximate time to deque the current_qlen?
Current_qlen/DQ_THRESHOLD(what portion is current queue length relative to 
DQ_THRESHOLD)? * avg_dq_time.

That is the rationale behind it.

Thanks,

Rong

     >> (EWMA) of the rate should be:
     >>
     >>      ewma(depart_rate) = DQ_THRESHOLD ∗ ewma(1/t1,1/t2,1/t3,...)
     >>                       != DQ_THRESHOLD / ewma(t1,t2,t3,...)
     >> "
     >> PIE uses the second (incorrect) formula. In the review, I discuss how
     >> wrong this could be, with an example.
     > Thanks, Bob, for pointing this out to me.
     >
     > Rong, is PIE doing this by intent (if so, what's the reason?) or is this
     > a flaw?
     >


_______________________________________________
aqm mailing list
aqm@ietf.org
https://www.ietf.org/mailman/listinfo/aqm

--
________________________________________________________________
Bob Briscoe                               http://bobbriscoe.net/

_______________________________________________
aqm mailing list
aqm@ietf.org
https://www.ietf.org/mailman/listinfo/aqm

Reply via email to