[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