[e2e] Why Buffering?

Lachlan Andrew lachlan.andrew at gmail.com
Sat Jun 20 18:58:08 PDT 2009


Greetings David and Dave,

2009/6/20 David P. Reed <dpreed at reed.com>:
> Dave - This is variously known as Little's Theorem or Little's Lemma.  The
> general pattern  is true for many stochastic arrival processes into queues.
> It precedes Kleinrock, and belongs to queueing theory.
>
> I continue to be shocked, and dismayed, at the number of practicing protocol
> designers who have never learned (or even *studied* without learning) basic
> queueing theory.

I agree that knowing queueing theory is very useful.  Note that
queueing theory also tells us that closed queueing networks (like
sources running TCP / window flow control) behave very differently
from open queueing networks.

[There was recently a thread about whether Poisson arrivals are
relevant.  *Packet* arrivals are definitely not Poisson, even though
session (and sometimes flow) arrivals can usefully be modelled as
such.]


Stochastic variability is the reason we need to have *some* buffering,
but today's large buffers are basically there because of (a) standard
TCP's outdated congestion control (b) the need in some situations for
a small number of TCP flow to get high throuhput.

As a complement to the Stanford work, I highly recommend the INFOCOM
2008 paper "Impact of file arrivals and departures on buffer sizing in
core routers", by
A Lakshmikantha, R Srikant, C Beck.

It suggests that, with the current (broken?) TCP algorithm, some edge
routers need much bigger buffers than the Stanford group recommend,
while core routers typically only need small buffers to absorb the
stochastic fluctuations already mentioned in this thread.  If we fix
TCP (no longer halve windows), then we don't need large buffers
anywhere.


In response to Paddy's post, large buffers are definitely not needed
for stability.  In fact, having large full buffers increases the RTT,
which typically degrades stability (depending on your definition of
"stable").

Cheers,
Lachlan

-- 
Lachlan Andrew  Centre for Advanced Internet Architectures (CAIA)
Swinburne University of Technology, Melbourne, Australia
<http://caia.swin.edu.au/cv/landrew> <http://netlab.caltech.edu/lachlan>
Ph +61 3 9214 4837


More information about the end2end-interest mailing list