[MPICH] Using non-default ethernet interfaces

Ralph Butler rbutler at mtsu.edu
Wed May 16 20:29:23 CDT 2007


This can be a bit tricky to get right no matter which way you try to  
do it, and there are
multiple ways to pull it off.  You can set the interface when mpds  
are started and then
the user pgms will use that same interface.  Or, you can let the mpds  
use one interface
and then have your program use a different interface at runtime; this  
requires using
the -machinefile option on mpiexec.

I will assume for the present that you want to set the fast interface  
for the mpds and
then have the pgm inherit that interface.  From your email, I assume  
you are also
planning to start the mpds via mpdboot; that is actually the goofiest  
part.  Here's how
it goes.

Let's assume that some machines are named m1, m2, and m3.  Let's also  
assume that
each host has a second name associated with a fast interface, e.g. m1- 
fast, m2-fast, and
m3-fast.  Finally, we will assume that you are going to run mpdboot  
from m1 and that you
want to use the fast interfaces.  Then you might create a hosts file  
named myhosts that
contains:
     m2-fast
     m3-fast
Since we are being picky about interfaces, I would leave m1/m1-fast  
out of the file and handle
it via the cmd-line.  It can get very confusing for mpdboot to know  
which IP to associate with
a given host.  Ultimately, it assumes that info about the local host  
is reliable from the cmd-line.
So, you do this:
     mpdboot -v -f myhosts -n 3 --ifhn=m1-fast
That --ifhn arg is the tricky part.  It is the ifhn to be associated  
with the local host.  It will NOT be
obtained from myhosts.  mpdboot will start one mpd on the local  
machine (m1 using the ifhn
m1-fast) and then will start 2 others on m2-fast and m3-fast.  Now,  
mpich2 pgms should also
use those interfaces.

--ralph

On WedMay 16, at Wed May 16 5:34PM, Jeff Squyres wrote:

> Greetings.  I'm trying to run MVAPICH2 over ethernet to do some  
> performance comparisons, but I'm having a heck of a time trying to  
> figure out how to use a non-default TCP interface.
>
> Specifically, eth0 is my "normal" gigE network (the IP address  
> associated with the hostname).  But I want to run an MVAPICH2 job  
> over ib0 -- my IPoIB interface.
>
> I looked through the user documentation and didn't see anything  
> about how to do this -- did I miss it?  Pointers would be greatly  
> appreciated.
>
> Thanks.
>
> -- 
> Jeff Squyres
> Cisco Systems
>




More information about the mpich-discuss mailing list