<div dir="ltr"><div dir="ltr">Hi, <div><br></div><div>I was trying to study the usage of mpi client-server model based on the example you provided on <a href="https://www.mcs.anl.gov/research/projects/mpi/mpi-standard/mpi-report-2.0/node106.htm">https://www.mcs.anl.gov/research/projects/mpi/mpi-standard/mpi-report-2.0/node106.htm</a>. After writing simple separate client and server source file based on the samples on your website. I found that:</div><div>1) when client and server both runs in single process like mpiexec -n 1 server, mpiexec -n 1 client. </div><div>it works fine, connection between server and client can successfully be built. </div><div>2) when client runs in single process but server runs in multiple processes (2 for example) but only rank 0 in server responsible to call mpi_comm_accept, rank 1 of server is just sleeping. Usage is like mpiexec -n 1 client, mpiexec -n 2 server. In this case, server blocks in mpi_comm_accept, which is expected. However, client blocks in mpi_comm_connect which is not expected. </div><div>3) when client runs in multiple processes and server runs in multiple processes, only rank 0 of client responsible for mpi_comm_connect and only rank 0 of server responsible for mpi_comm_accept. In this case, same observation in 2). </div><div><br></div><div>May I ask is the hanging of mpi_comm_connect in 2) & 3) expected? Is there a way to build connection successfully when mpi client/server runs under multi-process? </div><div><br></div><div>Thanks a lot,</div><div>Shuwei</div></div></div>