Thank you very much Mi and Lenny for your detailed replies.

 I believe I can summarize the infos to allow for 
'Working with a QS22 CellBlade cluster' like this:
- Yes, messages are efficiently handled with "-mca btl openib,sm,self"
- Better to go to the OMPI-1.3 version ASAP
- It is currently more efficient/easy to use numactl to control
processor affinity on a QS22.

 So far so good.

 One question remains: how could I monitor in details message passing
thru IB (on one side) and thru SM (on the other side) thru the use of mca 
parameters, please ? Additionnal info about the verbosity level
of this monitoring will be highly appreciated ... A lengthy travel
inside the list of such parameters provided by ompi_info did not
enlighten me (there are so many xxx_sm_yyy type params that I don't know which 
could be the right one ;-)

 Thanks in advance for your hints,      Best Regards,     Gilbert.


On Thu, 23 Oct 2008, Mi Yan wrote:

> 
> 1.  MCA BTL parameters
> With "-mca btl openib,self", both message between two Cell processors on
> one QS22 and   messages between two QS22s go through IB.
> 
> With "-mca btl openib,sm,slef",  message on one QS22 go through shared
> memory,  message between QS22 go through IB,
> 
> Depending on the message size and other MCA parameters,  it does not
> guarantee message passing on shared memory is faster than on IB.   E.g.
> the bandwidth for 64KB message is 959MB/s on shared-memory and is 694MB/s
> on IB;  the bandwidth for 4MB message is 539 MB/s and 1092 MB/s on  IB.
> The bandwidth of 4MB message on shared memory may be higher if you tune
> some MCA parameter.
> 
> 2.  mpi_paffinity_alone
>   "mpi_paffinity_alone =1"  is not a good choice for QS22.  There are two
> sockets with two physical  Cell/B.E. on one QS22.  Each Cell/B.E. has two
> SMT threads.   So there are four logical CPUs on one QS22.  CBE Linux
> kernel maps logical cpu 0 and 1 to socket1 and maps logical cpu 1 and 2 to
> socket 2.    If mpi_paffinity_alone is set to 1,   the two MPI instances
> will be assigned to logical cpu 0 and cpu 1 on socket 1.  I believe this is
> not what you want.
> 
>     A temporaily solution to  force the affinity on  QS22 is to use
> "numactl",   E.g.  assuming the hostname is "qs22" and the executable is
> "foo".  the following command can be used
>                 mpirun -np 1 -H qs22 numactl -c0 -m0  foo :   -np 1 -H qs22
> numactl -c1 -m1 foo
> 
>    In the long run,  I wish CBE kernel export  CPU topology  in /sys  and
> use  PLPA to force the processor affinity.
> 
> Best Regards,
> Mi
> 
> 
> 
>                                                                        
>              "Lenny                                                    
>              Verkhovsky"                                               
>              <lenny.verkhovsky                                          To
>              @gmail.com>               "Open MPI Users"                
>              Sent by:                  <us...@open-mpi.org>            
>              users-bounces@ope                                          cc
>              n-mpi.org                                                 
>                                                                    Subject
>                                        Re: [OMPI users] Working with a 
>              10/23/2008 05:48          CellBlade cluster               
>              AM                                                        
>                                                                        
>                                                                        
>              Please respond to                                         
>               Open MPI Users                                           
>              <users@open-mpi.o                                         
>                     rg>                                                
>                                                                        
>                                                                        
> 
> 
> 
> 
> Hi,
> 
> 
> If I understand you correctly the most suitable way to do it is by
> paffinity that we have in Open MPI 1.3 and the trank.
> how ever usually OS is distributing processes evenly between sockets by it
> self.
> 
> There still no formal FAQ due to a multiple reasons but you can read how to
> use it in the attached scratch ( there were few name changings of the
> params, so check with ompi_info )
> 
> shared memory is used between processes that share same machine, and openib
> is used between different machines ( hostnames ), no special mca params are
> needed.
> 
> Best Regards
> Lenny,
> 
> 
> 
> 
> 
> 
> 
> On Sun, Oct 19, 2008 at 10:32 AM, Gilbert Grosdidier <gro...@mail.cern.ch>
> wrote:
>    Working with a CellBlade cluster (QS22), the requirement is to have one
>   instance of the executable running on each socket of the blade (there are
>   2
>   sockets). The application is of the 'domain decomposition' type, and each
>   instance is required to often send/receive data with both the remote
>   blades and
>   the neighbor socket.
> 
>    Question is : which specification must be used for the mca btl component
>   to force 1) shmem type messages when communicating with this neighbor
>   socket,
>   while 2) using openib to communicate with the remote blades ?
>   Is '-mca btl sm,openib,self' suitable for this ?
> 
>    Also, which debug flags could be used to crosscheck that the messages
>   are
>   _actually_ going thru the right channel for a given channel, please ?
> 
>    We are currently using OpenMPI 1.2.5 shipped with RHEL5.2 (ppc64).
>   Which version do you think is currently the most optimised for these
>   processors and problem type ? Should we go towards OpenMPI 1.2.8
>   instead ?
>   Or even try some OpenMPI 1.3 nightly build ?
> 
>    Thanks in advance for your help,                  Gilbert.
> 
>   _______________________________________________
>   users mailing list
>   us...@open-mpi.org
>   http://www.open-mpi.org/mailman/listinfo.cgi/users
> (See attached file: RANKS_FAQ.doc)
> _______________________________________________
> users mailing list
> us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users

-- 
*---------------------------------------------------------------------*
  Gilbert Grosdidier                 gilbert.grosdid...@in2p3.fr
  LAL / IN2P3 / CNRS                 Phone : +33 1 6446 8909
  Faculté des Sciences, Bat. 200     Fax   : +33 1 6446 8546
  B.P. 34, F-91898 Orsay Cedex (FRANCE)
 ---------------------------------------------------------------------

Reply via email to