Dear Alexander, as Rich pointed out, your example will not deadlock (try to understand his good explanation). I think that your progression question is not really related to nonblocking collectives. The same question could be asked with an example using MPI-1: process 0 process 1 --------- --------- MPI_Irecv(.., req) MPI_Barrier(comm) MPI_Barrier(comm) MPI_Ssend(..) MPI_Bcast(..) MPI_Bcast(..) MPI_Wait(req, ..) The barrier only ensures that the send gets started after the incompleted Irecv returned to the user (to simulate the outstanding Ibarrier). Although the broadcast has nothing to do with the Irecv(), it will still ensure the required progress. Best regards, Christian -- Christian Siebert, Dipl.-Inf. Research Associate NEC Laboratories Europe, NEC Europe Ltd. Rathausallee 10, D-53757 Sankt Augustin, Germany Phone: +49 (0) 2241 - 92 52 44 Fax: +49 (0) 2241 - 92 52 99 (Registered Office: 1 Victoria Road, London W3 6BL, 2832014)