[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[altq 24] Re: When a class is delayed (undertime)




>> "Experimental Results for Class-Based Queueing" (by Sally Floyd and
>> Michael Speer,  still in progress) says (page 2) that:
>> "at one time a minidle parameter was used in the ns simulator, but that
>> parameter has been removed, and there is now no lower bound on avgidle".

This is OK for non-borrowable classes.  But it turns out that avgidle
of a class borrowing from its parent could be a huge negative value
so that the class could be severely punished for the borrowed bandwidth.
avgidle should have a lower bound.

Please be aware that Sally's note, the ns code, and CBQv2.0 are not
completely coherent...

>> Anyway, I'm very interested to know WHY this minidle was inserted, and
>> WHY it was calculated like this. I mean: it will be some theoretical
>> reason to define the minidle value. Which are these reasons?

I don't know.  You should ask Sally.

>> Anyway, this draft reports the fact that to calculate the "suspension
>> time", you have to do
>>	now + offime
>>and not
>>	expected finishing time + offime

The difference between the theory (or simulator) and the real
implementation is:
  theory (or simulator) has no device buffer.  a dequeued packet
  will complete its transfer after the packet time.
  on the other hand, a real network card has buffers so that ifnow
  could advance for tens of packets.

>> In fact, using my new computation for the suspension time (instead that
>> in ALTQ) the results are definitely better:

Hmmm, interesting.  I might be missing something here.  I'll take a
closer look.  But I'm leaving for USENIX and won't have time until
next week.

-Kenjiro