3 ms·
Really good thread. Several comments: Flow Queuing allows applications not creating queues to bypass those that are. It is mildly different from fair queuing:
by dtaht 3y ago
Really good thread. Several comments:
Flow Queuing allows applications not creating queues to bypass those that are. It is mildly different from fair queuing: https://ieeexplore.ieee.org/document/8469111 https://ieeexplore.ieee.org/document/8469111
Load shedding, at least for packets, benefits from head drop more than tail drop. Only the codel algorithm does this but codel has been applied to other forms of queuing like Uber dealing with a concertgoer overload.
Kathie Nichols has given some great presentations lately: https://www.understandinglatency.com/ https://www.understandinglatency.com/
There are a lot of unbounded queues in many applications & libraries, even in rust. They make me twitchy. Even with bounded queues the number chosen is usually arbitrary. I wish a timed queue was a default rather than a length.
I highly recommend Kleinrocks work on these subjects.
I am grumpy big vendors like juniper have yet to adopt smart queues... despite the obvious benefits. https://blog.cerowrt.org/post/juniper/ https://blog.cerowrt.org/post/juniper/