If a non-blocking operation to a failed pro-
cess has been initiated, the request of this operation valid’. Any operation involving this request will return ror MPI ERR REQUEST. The same holds for persistent operations.
is ’in- the er- request
When using the communicator mode FTMPI COMM MODE SHRINK, the Wait/Test operation after recovery will contain the rank of the sender after recovery. Thus, a user might have posted the non-blocking receive operation to rank x, but the status after recovery will show, that the message is from rank y.
Operations using persistent requests are automatically ’corrected’ to the new ranks of the according process.
Rationale For the message delivery using the communicator mode FTMPI COMM MODE SHRINK, it is best to think of processes having a unique process ID. Thus, a communication always occurs between pairs of processes. The rank in MPI COMM WORLD (or any derived communicators) is in this case just the result of a mapping between process ID and the position of the process in the process sequence of the according communicator.
Figure 5.1 shows once again the relation ship between messages and generation counts of communicators.
Non deterministic communication in MPI
To discuss:Difficulties can arise in communication patterns using the mes- sage mode FTMPI MSG MODE CONT, if the application has a non-deter- ministic communication behaviour, e.g. through the usage of MPI ANY- SOURCE. It is the responsibility of the application developer to avoid deadlocks in this case, since the MPI library can not recognize and cancel operations as long as it can not determine the destination/source process.