EU Regional School - Bockhorst Seminar
Dr. Heinrich Bockhorst - One-Sided Communication, MPI on Threads, Overlap of Communication and Computation. Old MPI topics - New Answers?
Senior Software Engineer at Intel Cooperation, Germany
This Talk will provide a short overview on some MPI topics that have been discussed for a long time. MPI’s one sided communication is available for about 20 years but it was ignored by most programmers due to the available implementations showing poor performance. This is kind of a chicken or the egg dilemma because the MPI developers did not spent their time on software that was not used. Another reason was that the necessary hardware was missing or too expensive. The final reason against one sided MPI communication was the cumbersome syntax that had to be used. The recent advances with MPI-3 may help to promote one sided communication.
MPI on threads is the next topic. The combination of MPI and threads is defined in the MPI standard. Nowadays people are switching to hybrid MPI+ threading programs instead of pure MPI. This became necessary since a pure MPI utilization of CPUs with up to 72 cores is not efficient. Reasons against the pure MPI model are memory consumption and network congestions. Many collectives are not scaling very well and the rank count should be kept low. Most implementations do not efficiently support the hybrid model. Reasons for that will be discussed and a recent solution presented.
Overlap of communication and computation is the third topic. There are coding examples where one sided communication and threads are used to achieve this overlap. Some coding examples will be presented to show how this can be done.
The poster shows two next neighbor exchange patterns. The first is with overlap and the second pattern is without overlap.