On Nov 10, 2011, at 8:11 AM, Mudassar Majeed wrote:

> Thank you for your reply. I am implementing a load balancing function for 
> MPI, that will balance the computation load and the communication both at a 
> time. So my algorithm assumes that all the cores may at the end get different 
> number of processes to run.

Are you talking about over-subscribing cores?  I.e., putting more than 1 MPI 
process on each core?

In general, that's not a good idea.

> In the beginning (before that function will be called), each core will have 
> equal number of processes. So I am thinking either to start more processes on 
> each core (than needed) and run my function for load balancing and then block 
> the remaining processes (on each core). In this way I will be able to achieve 
> different number of processes per core.

Open MPI spins aggressively looking for network progress.  For example, if you 
block in an MPI_RECV waiting for a message, Open MPI is actively banging on the 
CPU looking for network progress.  Because of this (and other reasons), you 
probably do not want to over-subscribe your processors (meaning: you probably 
don't want to put more than 1 process per core).

-- 
Jeff Squyres
jsquy...@cisco.com
For corporate legal information go to:
http://www.cisco.com/web/about/doing_business/legal/cri/


Reply via email to