next up previous contents
Next: 4.2 Persistent Communication Requests Up: 4 Point-To-Point Communication Previous: 4 Point-To-Point Communication

4.1 Communication Modes

  In MPI a message may be sent in one of four communication modes, which approximately correspond to the most common protocols used for point-to-point communication. In ready mode a message may be sent only if a corresponding receive has been initiated. In standard mode a message may be sent regardless of whether a corresponding receive has been initiated. MPI includes a synchronous mode which is the same as the standard mode, except that the send operation will not complete until a corresponding receive has been initiated on the destination process. Finally, there is a buffered mode. To use buffered mode the user must first supply a buffer and associate it with a communicator. When a subsequent send is performed using that communicator MPI may use the associated buffer to buffer the message. A buffered send may be performed regardless of whether a corresponding receive has been initiated.

There are, therefore, 8 types of send operation and 2 types of receive, as shown in Figure 3. In addition, routines are provided that send to one process while receiving from another. Different versions are provided for when the send and receive buffers are distinct, and for when they are the same. The send/receive operation is blocking, so does not return until the send buffer is ready for reuse, and the incoming message has been received. The two send/receive routines bring the total number of point-to-point message passing routines up to 12.

   figure78

Figure 3: Classification and names of the point-to-point send and receive routines.



top500@rz.uni-mannheim.de
Tue May 28 14:38:25 PST 1996