Routines that return when message transfer completed.
Synchronous send routine
Waits until complete message can be accepted by the receiving process before sending the message.
In MPI, MPI_SSend() routine.
Synchronous receive routine
Waits until the message it is expecting arrives.
In MPI, actually the regular MPI_recv() routine.