<div dir="ltr"><div>Hello.</div><div>I"m using MPICH2 1.5.</div><div>My system contains master and 16 slaves. </div><div>System uses number of communicators.</div><div>The single communicator used for below scenario:</div>
<div>Each slave sends non-stop 2Kbyte data buffer using <span class="" style>MPI</span>_<span class="" style>Isend</span> and waits using <span class="" style>MPI</span>_Wait.</div><div>Master starts with <span class="" style>MPI</span>_<span class="" style>Irecv</span> to each slave</div>
<div>Then in endless loop:</div><div><span class="" style>MPI</span>_<span class="" style>Waitany</span> and <span class="" style>MPI</span>_<span class="" style>Irecv</span> on rank returned by <span class="" style>MPI</span>_<span class="" style>Waitany</span>.</div>
<div><br></div><div>Another communicator used for broadcast communication (commands between master + slaves), </div><div>but it's not used in parallel with previous communicator, </div><div>only before or after data transfer.</div>
<div><br></div><div>The system executed on two computers linked by 1Gbit/s Ethernet.</div><div>Master executed on first computer, all slaves on other one.</div><div>Network traffic is ~800Mbit/s.</div><div><br></div><div>
<div>After 1-2 minutes of execution, master process starts to increase it's memory allocation and network traffic becomes low.</div><div>This memory allocation & network traffic slow down continues until fail of <span class="" style>MPI</span>, </div>
<div>without core file save.</div><div>My program doesn't allocate memory. Can you please explain this behaviour.</div><div>How can I cause <span class="" style>MPI</span> to stop sending slaves if Master can't serve such traffic, instead of memory allocation and fail?</div>
</div><div><br></div><div><br></div><div>Thank you,</div><div><span class="" style>Anatoly</span>.</div><div><br></div><div>P.S.</div><div>On my stand alone test, I simulate similar behaviour, but with single thread on each process (master & hosts).</div>
<div>When I start stand alone test, master stops slaves until it completes accumulated data processing and <span class="" style>MPI</span> doesn't increase memory allocation.</div><div>When Master is free slaves continue to send data.</div>
</div>