|
|
|
|
|
by lwheelock
3170 days ago
|
|
How is this practical considering known incompatibilities with traditional ECN and most enterprise environments include inter connectivity with systems out of the “controlled environment”? The demand for this type of congestion control is seemingly driven by top of rack topology used in cloud architecture. It would then stand to reason that hardware manufacturers would better solve variable queuing requirements in the switch than developing protocol support known to have a major incompatibility and potentially introduce interoperability problems between vendors in mixed networks. |
|
Second, Linux allows setting the congestion control algorithm per-route. So you could set up DCTCP for communicating with the IPs in the same data center, and use the default CC algorithm for everything else. And what if you can't use/don't want to use per-route settings? Well, you'll generally have two classes of machines anyway. Frontends that can communicate with the outside world, and backends that can't. So you could set up different congestion control based on the role of the machine.
Solving this in the switches seems tricky. Sure, per-flow rather than global or per-port queues could be used to solve the mice vs. elephants problem. But it does not help with TCP incast unless you also add huge buffers. You want switches to be simple, fast and cheap. A switch with per-flow queueing and huge buffers seems like the opposite.