6 ms·
Uh, no. Alltoall is a challenge for MPI, but not for the reason you describe. TCP windows mean that the receivers aren't the problem. It's all the switch queues
by greglindahl 10y ago
Uh, no. Alltoall is a challenge for MPI, but not for the reason you describe. TCP windows mean that the receivers aren't the problem. It's all the switch queues in the middle.
- dekhn 10y agowelp, I measured the problem on my machines, and enabling pause frames on the switches fixed the problem...
- vardump 10y agoTCP windows won't save you. TCP has no way to magically know when some buffer is full. Instead it notices packet loss and interprets it as congestion. Which is not what you want, because it can significantly reduce throughput.
- bcook 10y agoThere's many types of TCP congestion algos and not all of them require dropped packets to begin the congestion avoidance.
- dekhn 10y agoIn fact, at the time, I was working at LBL in a lab that developed new congestion avoidance algorithms. The problem was that most of our tuning for was for long-range links, while I was using the cluster for local high performance networking.
- r4um 10y agoYes it does, receiver side advertises window as 0 and persist timer kicks in. The send call then blocks until window recovers.
- vardump 10y agoThat's the problem when you don't really even have any congestion, but just very high packet loss caused by small buffers. Transfer rate drops to nothing. With pause frames you can avoid that situation.