[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[altq 82] Re: When a class is delayed (undertime)
> -----Original Message-----
> From: email@example.com [mailto:firstname.lastname@example.org]On
> Behalf Of Kenjiro Cho
> Sent: Friday, August 06, 1999 7:08 AM
> To: email@example.com
> Subject: [altq 78] Re: When a class is delayed (undertime)
> >> But... I'm always confused.
> >> Does it make sense using ifnow_ to compute the agvide, and nowp to
> >> compute the suspension time?
> There will be no difference as long as we use a consistent timeline.
The problem is that, due to the presence of buffers into the ATM card, ifnow_ and nowp are not always consistent.
The problem arises expecially if buffers change their state from empty to full frequently, because (for example) a class is suspended. When the class is suspended (supposing just that flow active), the buffer empties; when the class is resumed, the ATM buffer restarts to have packets into it (and ifnow_ and nowp diverge).
I don't think that, in the real world, buffering in the interface card is absolutely needed. I guess that an hardware implementation of whatever scheduling mechanism tries to keep this further level of buffering extremely low (the ideal case is to buffer just the packet that is currently being transmitted on the wire).
With this idea in mind I prefer to calculate both the avgidle and the suspension time according to the "true" time into the system (so nowp) instead of ifnow_.
Any suggestion by some hardware vendor?