LAM/MPI logo

LAM/MPI General User's Mailing List Archives

  |   Home   |   Download   |   Documentation   |   FAQ   |   all just in this list

From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2007-02-02 07:45:15


On Feb 2, 2007, at 6:02 AM, Davide Cesari wrote:

> If the second holds, then your request is pointless, in my knowledge,
> LAM does not make anything particular to attach processes to CPUs in a
> SMP system, it just starts as many processes as requested, then it
> is up
> to the operating system to balance them among the available
> processors,

This is correct. LAM simply starts up the Right number of processes
and does not bind them to any particular CPUs.

> this is the essence of Symmetric Multi Processing; AFAIK, there is no
> such a concept (and no need too) of starting a process on a particular
> CPU in a plain SMP system.

> If you are using the Linux kernel, then recent versions should have a
> tunable scheduler which tries to attach processes to CPUs as much as
> possible (the so-called CPU affinity) to improve performance on
> SMP, but
> it is not guaranteed either that a given process will always run on
> the
> same CPU.
> If you have a NUMA (Non Uniform Memory Access) system, then things
> are
> more complex, but I have no direct experience of that.

FWIW, Open MPI has some basic processor and memory affinity
mechanisms. Right now, the only mechanism available described here:

http://www.open-mpi.org/faq/?category=tuning#paffinity-defs
http://www.open-mpi.org/faq/?category=tuning#maffinity-defs
http://www.open-mpi.org/faq/?category=tuning#using-paffinity

We don't offer more fine-grained mechanisms [yet] mainly because
we've had a heck of a time trying to define a decent syntax for
allowing users to specify the exact placement that they want. It
sounds like a silly problem, but it turns into really nasty details
that are quite complex. :-(

-- 
Jeff Squyres
Server Virtualization Business Unit
Cisco Systems