Hi MPICH team,

 

I have an application which is mostly using master-slave kind of architecture. One master and <n> number of slaves. The slaves do not communicate between themselves and only sends/receives messages to/from master.

 

I have two ways I can setup the application

1>    Static : Master and slaves are all in the same MPI World

2>    Dynamic : Each slave is connected to master using a MPI_Comm and the communicator is created using MPI_Comm_connect/MPI_Comm_accept. Essentially master has <n> communicators.

 

The way master works is : it uses MPI_WaitAny kind of method to check messages from slave.

 

Could you please tell me whether <2> can be significantly slow with respect to  <1> if all the slaves send lots of small messages?

Is there some kind of buffering overhead in <2> for <n> communicators and which can be solved using some configuration.

 

Thanks,

Hirak