[e2e] Skype and congestion collapse.
David P. Reed
dpreed at reed.com
Sat Mar 5 08:33:51 PST 2005
Michael Welzl wrote:
>
>You're doing the Real folks wrong: in our tests, RealVideo _DID_ react to
>congestion. The way it did so was a little strange, but what the heck,
>eventually it reduced its rate. Having tested a number of other
>applications, I'd say that this is more than you could hope for :-
>
>
And exactly what evidence are we considering that Skype, which uses the
TCP stack in the OS, does not reduce its packet flow when congestion
occurs? My mention of other streaming services was to point out that
they present a heavy load, more than Skype does. So if the Skype load
is going to cause "congestion collapse" (see below), we would already be
there. There is a limit to Skype's load - each phone call requies two
(2) humans at the endpoints, who probably are not doing other things
(like making PSTN calls or watching streaming videos or listening to
iTunes). Hardly a recipe for unbounded demand....
I wasn't actually referring to whether Skype responds to congestion. As
a user I see no evidence that it tampers with TCP, but I plan to dig
further. Actually, transmitting continuous 10KB/s is a nice, simple
strategy for avoiding stupid interactions between "silence detection"
and TCP's flow control algorithm, which is really only tested for bulk
async delivery traffic (that's why I get red and angry every time the
Internet Drag Racers focus on how fast their latest tweak on TCP runs
over fiber - if even one graduate student were to look closely at the
larger class of apps that run over TCP, such as HTTP 1.1, POP3, SMTP,
... they would stop focusing on how fast one can travel over a standing
quarter mile flat track and figure out how to improve the performance of
real cars in real cities.
>
>
>
>>Congestion collapse is a well-defined term. It's not the plural of
>>
>>
>
>I disagree:
>ftp://ftp.rfc-editor.org/in-notes/rfc896.txt
>versus
>http://www.cse.ohio-state.edu/~jain/papers/cr1.htm
>versus
>http://www.icir.org/floyd/end2end-paper.html
>
>
>
I said the term *congestion collapse* as a resulting effect was defined
- and it is - a sustained reduction of throughput that persists after a
period of overload. If there is an alternate definition in paper 2 and
3, I certainly can't find it in the words there. Perhaps you missed
the word "collapse" in my point, which matches with the word collapse in
paper 1? The other papers refer to congestion - a much less precise
term than "congestion collapse" I agree. I made no reference to the
number of causes that might lead to "congestion collapse". I referred
in an ironic way "c.c. is not the plural of heavy load" to refer to the
fact that heavy loads on the Internet do not necessarily cause
collapse. There are any number of reasons - one is that TCP backs off,
one is that humans back off, etc. And of course the length of the
control loop involved in the backoff is crucial - if the backoff happens
early and persists long enough, sustained reduction in performance
doesn't happen.
In other words, the difference between congestion and congestion
collapse does lie in the control loop.
Unlike video or audio streaming, phone calls have, necessarily, a very
tight feedback loop - users find zero value in throughput without
tightly bounded latency in phone calls. They hang up if their calls
get even the slightest bit unreliable, and they hang up if the
end-to-end delay gets over about 100 msec.
This does not happen in audio or video streaming. Those are therefore
a much likelier contributor to "congestion collapse".
Mere congestion is usually a spur to investment, by the way.
Businesses whose parking lots are full attract investors to build
parking lots, *even when there is no charge for parking*. Why?
Because its clear that the businesses are popular. In the same way, if
Skype actually caused congestion at a substantial level, I have no doubt
that its users would find a way to pay to improve their highly desirable
service. Funny thing - the Internet got built out because so many
companies found that users really wanted to conduct business with them
on websites.
There is no denying that "congestion collapse" reflects a brittle
response that is to be avoided, but preventing congestion may actually
backfire, because it removes one of the economic signals that cause the
investment that reduces the congestion.
More information about the end2end-interest
mailing list