The CHOKe packet scheduler
The CHOKe packet scheduler
Posted Jan 14, 2011 2:20 UTC (Fri) by njs (subscriber, #40338)In reply to: The CHOKe packet scheduler by marcH
Parent article: The CHOKe packet scheduler
Dropping packets tells the sender to slow down. But in this case, the sender is already sending at the proper speed! You don't want them to reduce throughput, you just want them to smooth out their sending. But dropping packets doesn't tell them to do that, it just tells them to slow down.
Note that if they smoothed out their sends, so you got 1 ms of traffic every 1 ms, then that last packet would just get sent 100 ms later. There's no unnecessary latency being added here.
> I do not see why.
To tell the truth, I'm not sure either, but I'm quoting Van Jacobson et al (http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.2...) so I believe it. Perhaps someone will come along shortly to explain better.
Posted Jan 14, 2011 6:53 UTC (Fri)
by marcH (subscriber, #57642)
[Link] (1 responses)
TCP sending is smooth by design, check the literature.
If it is not TCP, yes you are right this might be too drastic and harm throughput. But it's only because your application does not behave. And it will preserve latency. And the bandwidth lost by killing the burst might be reused by better behaved applications.
Posted Jan 14, 2011 9:03 UTC (Fri)
by marcH (subscriber, #57642)
[Link]
By the way, if you need to smooth UDP-like traffic then DCCP has been designed expressly for you (Datagram Congestion Control Protocol).
The CHOKe packet scheduler
The CHOKe packet scheduler
