Although it will add some overhead, have you tried using MPI_Probe before calling MPI_Recv. I am curious to know if the Probe is less CPU intensive than a direct call to MPI_Recv. An example of how I use it:
(This is used to receive known data from an unknown source)
Le mercredi 5 juillet 2006 10:54, Marcin Skoczylas a écrit :
> Dear open-mpi users,
> I saw some posts ago almost the same question as I have, but it didn't
> give me satisfactional answer.
> I have setup like this:
> GUI program on some machine (f.e. laptop)
> Head listening on tcpip socket for commands from GUI.
> Workers waiting for commands from Head / processing the data.
> And now it's problematic. For passing the commands from Head I'm using:
> do whatever head said (process small portion of the data, return
> result to head, wait for another commands)
> So in the idle time workers are stuck in MPI_Recv and have 100% CPU
> usage, even if they are just waiting for the commands from Head.
> Normally, I would not prefer to have this situation as I sometimes have
> to share the cluster with others. I would prefer not to stop whole mpi
> program, but just go into 'idle' mode, and thus make it run again soon.
> Also I would like to have this aggresive MPI_Recv approach switched on
> when I'm alone on the cluster. So is it possible somehow to switch this
> mode on/off during runtime? Thank you in advance!
> greetings, Marcin
> users mailing list
Neural Bucket Solutions Inc.
T. (514) 736-1436
C. (514) 710-0517