[e2e] Deflating excessive buffers
Fred Baker (fred)
fred at cisco.com
Fri Oct 24 15:29:27 PDT 2014
On Sep 22, 2014, at 12:17 PM, Martin Heusse <Martin.Heusse at imag.fr> wrote:
> The has been many exchanges on this list about the impact of having excessively large buffers
A point of clarity:
A buffer is a bunch of empty space that you can fill with packets. A queue, or a queuing system, is a bunch of packets in a buffer in some organized manner.
The historical recommendation that a buffer be able to store at least the delay*bandwidth product refers to the size of the empty space that you can fill with packets. If I have a satcom link, I’d actually like to be able to push a fair bit of data into it and have that deplete over time to fill the available capacity.
The commentary about “buffer bloat” or "excessively large buffers” is about keeping too much in queue. If your queuing system would continuing using the entire bandwidth of the link using one packet less of average queue depth, in the context of the actual arrival distribution and all that, your queue (the set of packets actually in the buffer) is at least one packet too deep.
Loose language hopelessly confuses discussions. You would be amazed how much time I spend explaining to people that the fact that they want to have shallow queues on average doesn’t imply they shouldn’t be able to store much deeper queues on occasion.
More information about the end2end-interest