Blocking and Non-Blocking communication


Up: Buffering issues Next: Some Solutions to the ``Unsafe'' Problem Previous: Better buffering


  • So far we have used blocking communication:
    -- MPI_Send does not complete until buffer is empty (available for reuse).
    -- MPI_Recv does not complete until buffer is full (available for use).

  • Simple, but can be ``unsafe'':

    Completion depends in general on size of message and amount of system buffering.
    127 Send works for small enough messages but fails when messages get too large. Too large ranges from zero bytes to 100's of Megabytes.



    Up: Buffering issues Next: Some Solutions to the ``Unsafe'' Problem Previous: Better buffering