George,

Thanks for the tips. It looks like using "-bynode" as opposed to "- byslot" is the best way to distribute processes when running Amber9's Sander module. I confirmed that with MPICH-MX as well. I didn't realize that these settings were available. This really helps because I was getting bummed that I would just have to keep various hostfiles around some with slots=XX and some with nothing but the hostname.

Just an FYI on the timings:

-bynode:
real    0m35.035s

-byslot:
real    0m44.856s


Warner Yuen
Scientific Computing Consultant

On Mar 29, 2007, at 9:00 AM, users-requ...@open-mpi.org wrote:

Message: 1
Date: Wed, 28 Mar 2007 12:19:15 -0400
From: George Bosilca <bosi...@cs.utk.edu>
Subject: Re: [OMPI users] Odd behavior with slots=4
To: Open MPI Users <us...@open-mpi.org>
Message-ID: <2a58cf38-0fc4-4289-85e1-315376540...@cs.utk.edu>
Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed

There are multiple answers possible here. One is related to the over-
subscription of your cluster, but I expect that there are at least 4
cores per node if you want to use the slots=4 option. The real
question is what is the communication pattern in this benchmark ? and
how this match the distribution of the processes you use ?

As a matter of fact, if when you have XX processes per node, and all
of them will try to send a message to a remote process (here remote
means on another node), then they will have to share the physical
Myrinet link, which of course will lead to lower global performances
when XX increase (from 1, to 2 and then 4). And this is true without
regard on how you use the MX driver (via the Open MPI MTL or BTL).

Open MPI provide 2 options to allow you to distribute the processes
based on different criteria. Try to use -bynode and -byslot to see if
this affect the overall performances.

   Thanks,
     george.

On Mar 28, 2007, at 9:56 AM, Warner Yuen wrote:

Curious performance when using OpenMPI 1.2 to run Amber 9 on my
Xserve Xeon 5100 cluster. Each cluster node is a dual socket, dual-
core system. The cluster is also running with Myrinet 2000 with MX.
I'm just running some tests with one of Amber's benchmarks.

It seems that my hostfiles effect the performance of the
application. I tried variations of the hostfile to see what would
happen. I did a straight mpirun with no mca options set using:
"mpirun -np 32"

variation 1: hostname
real    0m35.391s

variation 2: hostname slots=4
real    0m45.698s

variation 3: hostname slots=2
real    0m38.761s


It seems that the best performance I achieve is when I use
variation 1 with only the hostname and execute the command:
 "mpirun --hostfile hostfile -np 32 <my_application>" . Its
shockingly about 13% better performance than if I use the hostfile
with a syntax of "hostname slots=4".

I also tried variations of in my mpirun command, here are the times:

straight mpirun with not mca options
real    0m45.698s

and....

"-mca mpi_yield_when_idle 0"
real    0m44.912s

and....

 "-mca mtl mx -mca pml cm"
real    0m45.002s

Reply via email to