Hello, my name is Saleh Elmohamed, I am with the Cornell Theory Center. I would like to say a few words about Persistent Communication in MPI.

Essentially I would like to define this concept for you. If you have an MPI program that is making repeated communication calls with an identical set of arguments (destination, buffer address, etc.), in a loop for example, then it will be more advantageous to recast the communication in terms of persistent communication requests inside that program. The reason for doing that is to reduce the overhead that will be incurred if you have that communication call in a loop instead.

Persistent requests are freely compatible with point-to-point communication in MPI. There is one communication initialization routine for each send mode (standard, synchronous, buffered, ready), and one communication initialization for receive mode. So once the routine creates a request handle, it returns immediately, and that will be the end of that persistent communication.