Point to Point Communication
In two communicating MPI processes:
one task is performing a send operation and the other task is performing a matching receive operation.
MPI_Send(buffer,count,type,dest,tag,comm) --->
MPI_Recv(buffer,count,type,source,tag,comm,status)
A System Buffer allows asynchronous send-receive operations.
User managed address space (i.e. your program variables) is called the application buffer.
MPI Send/Receive can be blocking and non-blocking.
Blocking - the function won't return until MPI has safely stored the message to
be sent, or was able to retrieve a message for delivery.