[MPICH] DHCP assigned IP addresses and hostnames?
Ralph Butler
rbutler at mtsu.edu
Fri Nov 17 15:31:03 CST 2006
I do not think these changes should be necessary. But, I must confess
that I no longer believe that I understand what problem you are
trying to solve. Also, using mpdboot
should work just fine, but is merely an extra step if you are running
on a single host.
On FriNov 17, at Fri Nov 17 2:52PM, Steve Kargl wrote:
> On Thu, Nov 16, 2006 at 01:04:42PM -0800, Steve Kargl wrote:
>> On Thu, Nov 16, 2006 at 02:32:35PM -0600, Ralph Butler wrote:
>>> On ThuNov 16, at Thu Nov 16 1:32PM, Steve Kargl wrote:
>>>> I've set up mpich2 on a colleagues duo-core opteron laptop
>>>> so that he can do some development before moving to the
>>>> cluster. His laptop gets an IP address assigned by DHCP
>>>> and his hostname is not a fully qualified domain name.
>>>>
>>>> I can tell him to update mpd.hosts with the current IP
>>>> address upon each reboot, but I haven't found a way to
>>>> get around this:
>>>>
>>>> alien-mobile:fcurra[203] mpdboot
>>>> mpdboot_alien-mobile.apl.washington.edu (handle_mpd_output 388):
>>>> from mpd on alien-mobile.apl.washington.edu, invalid port info:
>>>> mpd failed: gethostbyname_ex failed for alien-
>>>> mobile.apl.washington.edu
>>>>
>>>> Is there some way to tell MPICH2 to use localhost and the 127.0.0.1
>>>> address?
>>>>
>>>
>>> I believe the following demos what you want.
>>> --ralph
>>>
>>> (rmbmac:78) % mpd --ifhn=127.0.0.1 &
>>> [1] 26620
>>> (rmbmac:79) % mpdtrace -l
>>> rmbmac.cs.mtsu.edu_52052 (127.0.0.1)
>>> (rmbmac:80) % mpiexec -n 1 hostname
>>> rmbmac.cs.mtsu.edu
>>
>> Thanks! I thought I had tried explicit use of the 127.0.0.1
>> address, but apparently I missed this.
>>
>
> I spoke to soon. In testing, I used hostname to change the
> fake name of the laptop to the fully qualified domain name
> associated with the IP address of the ethernet nic. So, the
> "mpdboot --ifhn=127.0.0.1" appeared to work.
>
> To get mpich2 to run on localhost, I had to hack up the
> following patch:
>
>
> --- mpdboot.orig Wed Sep 6 13:33:29 2006
> +++ mpdboot Fri Nov 17 12:36:06 2006
> @@ -65,7 +65,7 @@
>
> def mpdboot():
> global myHost, fullDirName, rshCmd, user, mpdCmd, debug, verbose
> - myHost = gethostname()
> + myHost = 'alien'
> mpd_set_my_id('mpdboot_%s' % (myHost) )
> fullDirName = path.abspath(path.split(argv[0])[0])
> rshCmd = 'ssh'
> --- mpd.py.orig Fri Nov 17 12:37:08 2006
> +++ mpd.py Fri Nov 17 12:41:06 2006
> @@ -108,7 +108,7 @@
> def __init__(self):
> self.myHost = socket.gethostname()
> try:
> - hostinfo = socket.gethostbyname_ex(self.myHost)
> + hostinfo = '127.0.0.1' #socket.gethostbyname_ex
> (self.myHost)
> self.myIfhn = hostinfo[2][0] # chgd below when I
> get the real value
> except:
> print 'mpd failed: gethostbyname_ex failed for %s' %
> (self.myHost)
> @@ -371,7 +371,7 @@
> print 'failed to parse --ifhn option'
> self.usage()
> try:
> - hostinfo = socket.gethostbyname_ex(ifhn)
> + hostinfo = '127.0.0.1' #socket.gethostbyname_ex
> (ifhn)
> ifhn = hostinfo[2][0]
> except:
> print 'mpd failed: gethostbyname_ex failed for
> %s' % (ifhn)
>
>
> I don't know python. Otherwise, I would add a -localhost
> option to permit "mpdboot -localhost".
>
> Crude, my colleague just informed me that mpiexec is now dying with
> a gethostbyname_ex failure.
>
> --
> Steve
More information about the mpich-discuss
mailing list