<div dir="ltr"><div class="gmail_quote"><div dir="ltr">I tying to build master/slave application, which I execute using mpiexec.hydra.<div>Master is always process with rank 0. All rest of processes are slaves.(currently about ~10 processes).</div>
<div>Communication protocol (point to point):</div>

<div><u>Slave:</u> </div><div>1) sends single integer to master 1000 times in loop using MPI_Send operation </div><div>2) waits in MPI_Recv to recieve single integer from master.</div><div>3) Executes MPI_Finalize()</div>

<div><br></div><div><u>Master:</u></div><div>1) Master initialized with MPI_Errhandler_set(MPI_COMM_WORLD, MPI_ERRORS_RETURN);</div><div>2) Master passes on cyclic buffer of slaves ranks, and listens to each one of them by command MPI_Recv with slave rank.</div>

<div>Loop performed 1000 * Number of slaves.</div><div>3) After end of loop master sends to each slave 0 as integer using </div><div>MPI_Send operation.</div><div>4) Executes MPI_Finalize().</div>
<div><br></div><div><u><b>Purpose of application</b></u>: Tolerance to Process Failures</div><div>On the failure of number of slaves, continue work with the rest ones.</div><div><br></div><div><u>Execute command</u>:</div>

<div>mpiexec.hydra -disable-auto-cleanup -launcher rsh -launcher-exec /usr/bin/rsh -f machines.txt -n 11 mpi_send_sync</div><div><br></div><div><u>machines.txt contains</u>:</div><div><div>student1-eth1:1</div><div>student2-eth1:3</div>

<div>student3-eth1:20</div></div><div><br></div><div><b><u>Execution results</u></b>:</div><div>1) When I run application as written above, everything works.</div><div>2) Then I try to simulate failure of the one of slaves by calling abort()  function on iteration 10 of the slave loop.</div>

<div>As result master get SIGUSR1 signal and fails. </div><div><br></div><div><u>Questions</u>:</div><div>1) I don&#39;t understand what should I do in order to get an error status from MPI_Recv command in master code?</div>

<div>2) In the case I use </div><div>MPI_Irecv + MPI_Waitany in master code, how can I recognize which slave &quot;dead&quot;?</div><div><br></div><font color="#888888"><div>Anatoly.</div></font></div>
</div><br></div>