Re: dynamic TCP algorithms switching
yan cui <[email protected]> Fri, 22 Nov 2013 18:21:12 -0500
| Newsgroups | gmane.linux.network,gmane.linux.network.general |
|---|---|
| Message-ID | <CAAVq3rnmWUAzDGy9_nMLsbx++opgZpuYtG34VpZEBbJ2psBnZw@mail.gmail.com> |
Then, why include so many (current Linux has 10+ TCP congestion algorithms) algorithms? For users who want to deploy their application on Linux and if the applications are system resource intensive, they always want to tune the configurations of the operating systems for the last piece of performance. If they do so, maybe they are confused about which TCP congestion algorithm to use for their environment. So, the only way is to try each algorithm one by one. I understand the setting of the default TCP congestion algorithm to be Cubic means that it works well for most environments. But if others are seldom used, or can be replace with another implementation. Why not just remove from the kernel? Yan 2013/11/22 Stephen Hemminger <[email protected]>: > On Fri, 22 Nov 2013 17:49:58 -0500 > yan cui <[email protected]> wrote: > >> Hi all: >> >> Currently, Linux has kinds of TCP congestion algorithms, such as >> reno, cubic, bic, hybla, ...., and each TCP congestion algorithm has >> its target networking environment. I just wonder to know is it >> possible to do dynamic TCP algorithm switching? In other words, the >> system has a combined TCP congestion algorithm (say, TCP-auto), and it >> behaves like one of the integrated TCP congestion algorithms according >> to different detected networking environment, but can switch to a >> different one. For example, TCP-auto totally uses the set of >> congestion control operations in TCP-cubic by default, but when it >> detects that the current OS uses wireless networking, it switches to >> some wireless friendly TCP congestion algorithm. Does Linux have some >> features like that, or do you (networking developers and users) care >> about it? >> >> Best Wishes! >> > > You overestimate the advantage of one verus the other. > It is possible to control algorithm on per-socket, and per-route > but other than benchmarking there or bulk transfer for normal net > traffic Cubic works fine for all environments. -- Think big; Dream impossible; Make it happen.