[mpiwg-persistence] progress rule vs. partitioned communication
Joachim Jenke
jenke at itc.rwth-aachen.de
Wed Jan 11 08:04:45 CST 2023
Hi all,
while working on deadlock detection for partitioned P2P communication we
could not really come to a conclusion, whether a variant of the
following non-deadlock scenario is a deadlock with partitioned
communication:
Process 0 Process 1
MPI_Isend(1,r) MPI_Recv(0)
MPI_Recv(1) MPI_Send(0)
MPI_Wait(r)
Transformed into partitioned communication:
Process 0 Process 1
MPI_Psend_init(1,r) MPI_Precv_init(0,r)
MPI_Start(r) MPI_Start(r)
MPI_Pready_range(all,r) MPI_Wait(r)
MPI_Recv(1) MPI_Send(0)
MPI_Wait(r)
The first example should not deadlock according to the process paragraph
in MPI4,p75,l13pp:
> A call to MPI_WAIT that completes a receive will eventually terminate
> and return if a matching send has been started , unless the send is
> satisfied by another receive. In particular, if the matching send is
> nonblocking, then the receive should complete even if no call is
> executed by the sender to complete the send.
The second example might potentially deadlock according to the rational
in MPI4,p106,l3pp:
> A naive implementation can simply wait for the entire message buffer
> to be marked ready before any transfer(s) occur and could wait until
> the completion function is called on a request before transferring
> data.
If calling the completion function is necessary to eventually send the
data, the second example will deadlock with Process 0 stalling in the
MPI_Recv and Process 1 stalling in the MPI_Wait.
From my perspective this contradicts the process definition for
MPI_WAIT completing a receive where the matching send has been started.
Another question might be when a partitioned send is started in the
sense of the process rule for MPI_WAIT.
I checked the current mpi-4.x branch and the referenced wording seems to
be still the same.
Did we miss something?
Best
Joachim
--
Dr. rer. nat. Joachim Jenke
IT Center
Group: High Performance Computing
Division: Computational Science and Engineering
RWTH Aachen University
Seffenter Weg 23
D 52074 Aachen (Germany)
Tel: +49 241 80- 24765
Fax: +49 241 80-624765
jenke at itc.rwth-aachen.de
www.itc.rwth-aachen.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 5903 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://lists.mpi-forum.org/pipermail/mpiwg-persistence/attachments/20230111/456ac767/attachment.p7s>
More information about the mpiwg-persistence
mailing list