[e2e] Why do we need congestion control?
Jon Crowcroft
Jon.Crowcroft at cl.cam.ac.uk
Wed Mar 6 05:43:56 PST 2013
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 - this will cost you more delay at source (in constructing more
redundency) and more overhead in the net, which is a positive feedback loop,
just like retransmitting a whole window into a congested queue/path - a
"vicious cycle" as opposed to a virtuous one...
so all that erasure codes buy you is delaying the point when you go over the
clif
In missive <CANZhn5Gqyw6-XpaB2-XKmbahKidOap+ZDqGAJ2NqdMBxmYAP-w at mail.gmail.com>, shun cai
typed:
>>--f46d0444e84964e1a304d740bdcd
>>Content-Type: text/plain; charset=ISO-8859-1
>>
>>As discussed in chapter 1 of your PhD thesis, when network is congested,
>>retransmission dominate the traffic and effective throughput diminshes
>>rapidly, leading to a deteriorating situation. This can be illustrated in
>>the well known figure with two turning points Knee and Cliff.
>>
>>
>> I wonder, however, does the situation the same if rateless erasure
>>code (say fountain codes) is used? As with erasure code, no ACK and
>>retransmission is needed except when the whole file is completed. So even
>>heavy loaded, the network is still busy with effective data packet, right?
>>Although queueing delay will increase, I believe that the network
>>throughput will not suffer the plunge as un-coded network.
>>
>>
>>
>>Kara
>>
>>
>>
>>
>>
>>
>>2013/3/5 Srinivasan Keshav <keshav at uwaterloo.ca>
>>
>>> To answer this question, I put together some slides for a presentation at
>>> the IRTF ICCRG Workshop in 2007 [1]. In a nutshell, to save costs, we
>>> always size a shared resource (such as a link or a router) smaller than the
>>> sum of peak demands. This can result in transient or persistent overloads,
>>> reducing user-perceived performance. Transient overloads are easily
>>> relieved by a buffer, but persistent overload requires reductions of source
>>> loads, which is the role of congestion control. Lacking congestion control,
>>> or worse, with an inappropriate response to a performance problem (such as
>>> by increasing the load), shared network resources are always overloaded
>>> leading to delays, losses, and eventually collapse, where every packet that
>>> is sent is a retransmission and no source makes progress. A more detailed
>>> description can also be found in chapter 1 of my PhD thesis [2].
>>>
>>> Incidentally, the distributed optimization approach that Jon mentioned is
>>> described beautifully in [3].
>>>
>>> hope this helps,
>>> keshav
>>>
>>> [1] Congestion and Congestion Control, Presentation at IRTF ICCRG
>>> Workshop, PFLDnet, 2007, Los Angeles (California), USA, February 2007.
>>> http://blizzard.cs.uwaterloo.ca/keshav/home/Papers/data/07/congestion.pdf
>>>
>>> [2] S. Keshav, Congestion Control in Computer Networks PhD Thesis,
>>> published as UC Berkeley TR-654, September 1991
>>> http://blizzard.cs.uwaterloo.ca/keshav/home/Papers/data/91/thesis/ch1.pdf
>>>
>>> [3] Palomar, Daniel P., and Mung Chiang. "A tutorial on decomposition
>>> methods for network utility maximization." Selected Areas in
>>> Communications, IEEE Journal on 24.8 (2006): 1439-1451.
>>> http://www.princeton.edu/~chiangm/decomptutorial.pdf
>>>
>>>
>>>
>>
>>--f46d0444e84964e1a304d740bdcd
>>Content-Type: text/html; charset=ISO-8859-1
>>Content-Transfer-Encoding: quoted-printable
>>
>>As discussed in chapter 1 of your PhD thesis,=A0 when network is congested,=
>> retransmission dominate the traffic and effective throughput diminshes rap=
>>idly, leading to a deteriorating situation. This can be illustrated in the =
>>well known figure with two turning points Knee and Cliff. <br>
>><img src=3D"data:image/png;base64,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
>>MAKioqrKys0FT+kUcV00kAAG/fvt2yZYuUlJSOjg5cMH2c6x8aQYDFhfUGyoqpXoKWZnX4b1VVl=
>>Zqa2vfff//w4UPI105Rlj693oI/IYVCMTY2Xrhwoaur6+3bt2fNmqWkpPT69evy8vL9+/cvXLjw=
>>zp077u7uioqKZ8+eLS4u9vDw+OOPPzZt2vTw4UN9ff1jx47l5uampqauX7/+1KlT1dXV//3337p=
>>16x48eMBkMv38/Pbu3evt7Q29mm1/MAAAlUp1cnLC9YGPKK+4iZsgiNDQUFhT2M3NDYYrtFe+8v=
>>l8uFLE7Sdtv7yHApGPEL3hLBYrPj4ebvmEJk46nb5r167vvvvO0dER6ordx1cAQHl5+YkTJ/744=
>>w9PT08fH5/Zs2erq6sXFxdXVVXt27dvz5490Fu7d+/egwcPlpSUZGRkbNiwwdDQsLKy8vbt2xs3=
>>bnzx4kVhYaGampqurm5dXV1ISMiGDRsePXrU3NwcERGhp6cXFxcHpxJhm7120Hrq6OjYFr4Solh=
>>VOMRUKtXIyOjHH3/csGFDamoqWsC1a73FZrMjIyNfv36NUs31EhMshEAUq56cnHz48OGwsDAgcn=
>>CSyeQdO3b069dPTU0NbV1u1/LgvWiTPUsoFMLtADDGMSIiwtDQMDg4mMlk1tbWnjlz5tq1axQKh=
>>Uwma2lpwa0phYWFW7ZsMTMzY7PZDx8+lJeXDw0NLSgoUFNTO3nyJIPBiIqKUlZWhovH8PDwM2fO=
>>wFh0AvNHtKX37eKrQFTgisvlPnjwYO7cufPmzfPy8oI7tNC1bedrQ0ODtbU1jOogsJqdbbm8RwM=
>>fLgCAv7+/rKysr68vsoJTKJTdu3eTSKR58+bl5OSATtpl0FZ9AAAQERFhYmKSkpLy5s2bnJwcuB=
>>00JyfnyJEjNjY2dDq9rKxs7969u3btqqioKC4uVlNTu3DhQmFh4Y0bNxQUFKKiooqLi7dv366lp=
>>QXdIcuWLTtz5kxNTc2LFy9OnToVGhpaXFycl5dHo9Ha3vt28RV9W1paum3btuHDhx88eBAGegtE=
>>e9DbPqyQrxYWFqampvX19ehl6A18xZUfAICvr6+srOyTJ0+QFZxKpe7atYtEIv3xxx/Qm9MpKtO=
>>n+YoCGmDYtbq6uoaGxqFDhwICAthsdlJS0oEDBywsLOrq6tLS0vbt23f48OG8vDxYl3HFihUaGh=
>>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
>>nw4UMHB4eEhISGhobk5GQPDw8KhZKXl0ehUB4/fuzv75+UlOTm5hYZGVlVVZWUlAS6MSMjg8Fgc=
>>DgcNpvNYrGApyWLxert7WWz2eDDwcFBf3//9evX+/n5cTicvr6+/v5+kNwX/Mtms4FyDza9CIKo=
>>r683MzPbvHmzvr5+eHg4iOgcGBiAFpjXbWuPxlecwMVVoI6Kscc0m83u7+/v6+vr6enp7Ozs6Oj=
>>o6+sDwxf0Johs6enp6erqam9vb2tr6xgN4KvW1tbW1lZwXVdXFxwc7OLikpubW1BQ4OnpaWtra2=
>>tra2NjYyt6PHz48P79+3p6eoqKilu3bpWWlpaWlpYdDTIyMrKystLS0jIyMlpaWhYWFrt27fr22=
>>28VFBQMDQ3V1NQWLly4YsUKFRWV7du3a2lpGRgYSEtLy8vL79mzR01N7fr163fu3Dl//vzp06cN=
>>BDhz5oyRkdHp06f19fXPnj2rqqr6r3/969dffz1z5oyBgYGhoSG4MDAwMDIyOnfuXEBAQFxcXEB=
>>AQEZGRklJSVRUlJqa2rRp0yQlJVetWnX48OGTJ09aWFikp6fT6XQulwuTcI1810h+wiE6l9dDEL=
>>z3QrKOBIE4p6J7USOnQngbgayW3nF4G70AAAm1SURBVAZTvMyCaGlpycrKAhNLeno6mGdGAnwLL=
>>hISEqysrHR1dW1tbZOTk58+fXry5Mljx45ZWlrGxcWlp6fb2dlpaWnp6elZWFhYWVk5OTnZ2dkZ=
>>GRlpamqqq6sfOHDg4MGDBw4c2L9///79+zU1NTU0NDQ1NQ8fPnxQAHV1dQ0NDQ0NDXD/kSNHLl6=
>>8aGpqqqSkdPr06cuXLyspKX3zzTcSw/H3v/997969GRkZmCAybNRX/D++ZjW4FNOCa+hpxW2F3X=
>>3090rICrv048PXsEJObuid0BSFIT6d4ykRMhU+fIrJiv/Ryul16O3tbWtrA+EYQ0NDYN4Ax4QTB=
>>MFms1taWlpbW5lMJpju+/v7Ozo66uvrGxoaGhsbGxsb6+rq6urqQGJ78Bdc1NfXg9vq6uoaGhqa=
>>mprq6+sbGxurq6uzsrK8vb0pFEpCQsLt27eVlJQkJSU/+uijxYsXf//99/Ly8jdu3HBwcCgvLx/=
>>jFRAoX+0y91ikqDtlX0urTevlsIj3SsqiSjo23O0QqE0A+PClLiZI/YAS+nXPF/pKaCGM0n1sjH=
>>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
>>mCC" alt=3D""><br>
>><br>=A0=A0=A0=A0 I wonder, however, does the situation the same if rateless=
>> erasure code (say fountain codes) is used?=A0 As with erasure code, no ACK=
>> and retransmission is needed except when the whole file is completed. So e=
>>ven heavy loaded, the network is still busy with effective data packet, rig=
>>ht?=A0 Although queueing delay will increase, I believe that=A0 the network=
>> throughput=A0 will not=A0 suffer the plunge as un-coded network. <br>
>><br>=A0<br><br>Kara<br><br><br><br><br><br><br><div class=3D"gmail_quote">2=
>>013/3/5 Srinivasan Keshav <span dir=3D"ltr"><<a href=3D"mailto:keshav at uw=
>>aterloo.ca" target=3D"_blank">keshav at uwaterloo.ca</a>></span><br><blockq=
>>uote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc =
>>solid;padding-left:1ex">
>>
>>To answer this question, I put together some slides for a presentation at t=
>>he IRTF ICCRG Workshop in 2007 [1]. In a nutshell, to save costs, we always=
>> size a shared resource (such as a link or a router) smaller than the sum o=
>>f peak demands. This can result in transient or persistent overloads, reduc=
>>ing user-perceived performance. Transient overloads are easily relieved by =
>>a buffer, but persistent overload requires reductions of source loads, whic=
>>h is the role of congestion control. Lacking congestion control, or worse, =
>>with an inappropriate response to a performance problem (such as by increas=
>>ing the load), shared network resources are always overloaded leading to de=
>>lays, losses, and eventually collapse, where every packet that is sent is a=
>> retransmission and no source makes progress. A more detailed description c=
>>an also be found in chapter 1 of my PhD thesis [2].<br>
>>
>>
>><br>
>>Incidentally, the distributed optimization approach that Jon mentioned is d=
>>escribed beautifully in [3].<br>
>><br>
>>hope this helps,<br>
>>keshav<br>
>><br>
>>[1] Congestion and Congestion Control, Presentation at IRTF ICCRG Workshop,=
>> PFLDnet, 2007, Los Angeles (California), USA, February 2007.<br>
>><a href=3D"http://blizzard.cs.uwaterloo.ca/keshav/home/Papers/data/07/conge=
>>stion.pdf" target=3D"_blank">http://blizzard.cs.uwaterloo.ca/keshav/home/Pa=
>>pers/data/07/congestion.pdf</a><br>
>><br>
>>[2] S. Keshav, Congestion Control in Computer Networks PhD Thesis, publishe=
>>d as UC Berkeley TR-654, September 1991<br>
>><a href=3D"http://blizzard.cs.uwaterloo.ca/keshav/home/Papers/data/91/thesi=
>>s/ch1.pdf" target=3D"_blank">http://blizzard.cs.uwaterloo.ca/keshav/home/Pa=
>>pers/data/91/thesis/ch1.pdf</a><br>
>><br>
>>[3] Palomar, Daniel P., and Mung Chiang. "A tutorial on decomposition =
>>methods for network utility maximization." Selected Areas in Communica=
>>tions, IEEE Journal on 24.8 (2006): 1439-1451.<br>
>><a href=3D"http://www.princeton.edu/~chiangm/decomptutorial.pdf" target=3D"=
>>_blank">http://www.princeton.edu/~chiangm/decomptutorial.pdf</a><br>
>><br>
>><br>
>></blockquote></div><br>
>>
>>--f46d0444e84964e1a304d740bdcd--
cheers
jon
More information about the end2end-interest
mailing list