[e2e] Why do we need congestion control?
dhc2 at dcrocker.net
Wed Mar 6 07:16:02 PST 2013
On 3/6/2013 5:43 AM, Jon Crowcroft wrote:
> there's no free lunch - if the queue keeps being filled, you'll get increasing
> packet loss - to cover the loss, you'll need more redundency in your erasure
> coding -
> so all that erasure codes buy you is delaying the point when you go over the
My introduction to networking was as support staff at the UCLA Arpanet
project, with Leonard Kleinrock as principal investigator. This meant I
got to hear him lecture about queuing theory and he is a good enough
teacher to make even that topic interesting.
Eventually he give a summary lecture, about lessons learned, and he put
up a graph which started out shallow, had a sharp elbow, and then
increased rapidly. He said that years of measurement of actual
networking behavior produced this graph and that while the mathematics
of it was complicated, its meaning was pretty simple:
In a network, things are very good, until they are very bad.
When things are very good, queuing isn't needed because there is plenty
of capacity. When things are very bad, queuing isn't helpful because
there isn't enough capacity.
So why bother with the cost of queuing mechanisms?
Queuing, he noted, is for that very small phase at the elbow. That is,
short bursts of contention, not sustained problems.
I believe this is the reason the short queue lengths are said to make
sense but long ones to cause problems. If you need a long queue length,
you have bigger problems than the length of the queue...
More information about the end2end-interest