I'm just in progress of selecting an MPI implementation to be
used on a compute server cluster at the University of Munich.
Since MPI_THREAD_MULTIPLE is a requirement, I went for OpenMPI.
The setup is a rack of boxes running Linux and connected with
However, there is a severe problem:
Blocking functions like MPI_Probe() suck all CPU power.
But as everybody knows, select(2), poll(2) and recently also
epoll(2) were invented to give implementes a possibility to write
programs with multiple IO channels without the need for busy waiting.
So, I wonder if there is a way to have OpenMPI not make use of busy
waiting but rather apply some kernel-level event selection function
like the ones mentioned above.