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:

                MPI_Probe(MPI_ANY_SOURCE,MPI_ANY_TAG,MPI_COMM_WORLD,&status);
                
MPI_Recv(DispBuff,height,MPI_UNSIGNED_LONG,status.MPI_SOURCE,status.MPI_TAG,MPI_COMM_WORLD,&rstatus);

(This is used to receive known data from an unknown source)

Eric

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:
> while(true)
> {
>     MPI_Recv...
>    
>     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
> us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users
> 

-- 
Eric Thibodeau
Neural Bucket Solutions Inc.
T. (514) 736-1436
C. (514) 710-0517

Reply via email to