To implement polling algorithms efficiently, we mentioned the MPI_Probe and MPI_IProbe which allow to check for incoming messages without actually receiving them. The MPI_Probe only returns when there is a message ready to receive and is blocking. A proper application of MPI_Probe could be when the message consists of a high volume of data for which memory needs be allocated first. The nonblocking MPI_Iprobe is useful in cases where there is no particular order between the processors and where the manager also has to compute.
We ended the lecture listing the termination problems arising with a backtrack search, e.g.: to decide whether a permanent of a large matrix is zero or not; or to find the shorted path in a network with source and sink.
Bibliography