I'm confused about the required behavior of MPI_Send() using TCP sockets.
Does a call to MPI_Send() block until the receiving process actually
receives the message, or does MPI_Send() only block until the send operation
completes locally? In other words, does the sender actually have to wait
for an ACK from the receiver to proceed?