[mpich-discuss] Question on ch3:sock option for MPICH2 on Windows platform

Eric Hui Eric.Hui at ggy.com
Fri Oct 28 11:00:39 CDT 2011

Hi Jayesh,

The "-channel sock" option solved my problem.  Thank you very much.

I have another question now.

We are trying to follow the MPI fault tolerance design described here:

Let say we have approximately 500 to 1000 workers and I need to call MPI_Probe for each of those workers from the manager.

What is a good way to manage these MPI_Probe calls?  The simple solution that I can think of is to create one thread to call MPI_Probe per worker.  However, the number of threads required in this case would use up a lot of system resources and may not be ideal.

I understand that I can use MPI_Iprobe instead, but putting this into a while loop and calling it for all of the workers one by one would again tie up the CPU resources which defeat my purpose since this seems to be just polling.

Please let me know if you have any suggestion.

Eric Hui
Eric.Hui at ggy.com

-----Original Message-----
From: Jayesh Krishna [mailto:jayesh at mcs.anl.gov] 
Sent: October-27-11 3:09 PM
To: mpich-discuss at mcs.anl.gov
Cc: Eric Hui
Subject: Re: [mpich-discuss] Question on ch3:sock option for MPICH2 on Windows platform

 You should be able to specify the sock channel at runtime using the "-channel" option of mpiexec (mpiexec -n 2 -channel sock cpi.exe).


----- Original Message -----
From: "Eric Hui" <Eric.Hui at ggy.com>
To: mpich-discuss at mcs.anl.gov
Sent: Thursday, October 27, 2011 1:06:49 PM
Subject: [mpich-discuss] Question on ch3:sock option for MPICH2 on Windows	platform

Hi Jayesh, 

Pavan has previously suggested me to use the "with-device=ch3:sock" option to configure MPICH2 so that the MPI_Probe function can sleep and not tie up the CPU core by polling for message. I am on the Windows platform and tried to read through all the documentation, but can't seem to find how this configuration can be done. Can you give me some instructions on how to setup the environment to use this option? 

Do I need to rebuild the entire MPI library myself or there is some setting / parameter that I can change? 

What I have tried so far is to use the following: 

smpd -set intermode_channel sock 

However, my MPI program is still using the entire CPU core in the MPI_Probe call. 

Here are the links for my original discussion with Pavan for your reference: 






Thanks in advance for your assistance! 


Eric Hui 

mpich-discuss mailing list     mpich-discuss at mcs.anl.gov
To manage subscription options or unsubscribe:

More information about the mpich-discuss mailing list