MPI - Will it cause any problems if a message sent by MPI_Bcast() is not received in one of the nodes (doesn't call MPI_Bcast) -


i have master node broadcasts message every using mpi_bcast. problem is, have 1 specific node needs run bit slower others, , say, participate in bcast half of time. like:

// -- iteration 1 master: mpi_bcast(msg1) node1: mpi_bcast(msg1) node2: mpi_bcast(msg1) node0: mpi_bcast(msg1)  // -- iteration 2 master: mpi_bcast(msg2) node1: mpi_bcast(msg2) node2: mpi_bcast(msg2) node0: dosomethingimportantanddontparticipateinbcast()  // -- iteration 3 master: mpi_bcast(msg3) node1: mpi_bcast(msg3) node2: mpi_bcast(msg3) node0: mpi_bcast(msg3) 

is possible? note in last iteration, want node0 receive msg3 , not msg2 (which ignored).

your suggested pattern won't work, processes in communicator participate in each broadcast.

if implement plan stands find node0 matches mpi_bcast(msg3) broadcast other processes see mpi_bcast(msg2). there no mechanism identifying broadcasts separately. it's long time since wrote mpi program mis-matched broadcasts can't recall happens, , i'm not sure standard requires. expect bad things happen, possibly processes have participated in more broadcasts special 1 grind halt wait.

what define intracommunicator, using mpi_comm_create, excludes node0 , call broadcasts on both global communicator , new 1 wish.


Comments

Popular posts from this blog

javascript - Count length of each class -

What design pattern is this code in Javascript? -

hadoop - Restrict secondarynamenode to be installed and run on any other node in the cluster -