Non-blocking Routines
Non-blocking routines return immediately .
They do not wait for the actual arrival of the message nor
for the sending protocols to be finished.
The MPI library performs these tasks whenever it is able
to with the user having no control.
These routines are intrinsically unsafe as there is the
danger that the application buffers may be modified by
the program without ascertaining whether the non-
blocking operation has been completed or not.
Non-blocking routines allow communications and
computations to overlap .