It's taken me a while, but I've simplified the experiment... In a nutshell, I'm seeing strange behavior in my multi-NIC box when I attempt to execute " mpiexec -d --mca btl_tcp_if_include eth0 -np 2 a.out". I have three different observed behaviors:
[1] mpi worker rank 0 displays the banner and then just hangs (apparently trying to exchange MPI messages, which don't get delivered) 2 PE'S AS A 2 BY 1 GRID [2] it starts progressing (spitting out domain-specific msgs): 2 PE'S AS A 2 BY 1 GRID HALO2A NPES,N = 2 2 TIME = 0.000007 SECONDS HALO2A NPES,N = 2 4 TIME = 0.000007 SECONDS HALO2A NPES,N = 2 8 TIME = 0.000007 SECONDS HALO2A NPES,N = 2 16 TIME = 0.000008 SECONDS HALO2A NPES,N = 2 32 TIME = 0.000009 SECONDS [3] I get failure pretty quickly, with the line " mpiexec noticed that job rank 1 with PID 20425 on node "localhost" exited on signal 11." Here's the output of "ifconfig": [humphrey@zelda01 humphrey]$ /sbin/ifconfig eth0 Link encap:Ethernet HWaddr 00:11:43:DC:EA:EE inet addr:130.207.252.131 Bcast:130.207.252.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:2441905 errors:0 dropped:0 overruns:0 frame:0 TX packets:112786 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:197322445 (188.1 Mb) TX bytes:32906750 (31.3 Mb) Base address:0xecc0 Memory:dfae0000-dfb00000 eth2 Link encap:Ethernet HWaddr 00:11:95:C7:28:82 inet addr:10.0.0.11 Bcast:10.0.0.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:11598757 errors:0 dropped:0 overruns:0 frame:0 TX packets:7224590 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:3491651158 (3329.8 Mb) TX bytes:1916674000 (1827.8 Mb) Interrupt:77 Base address:0xcc00 ipsec0 Link encap:Ethernet HWaddr 00:11:43:DC:EA:EE inet addr:130.207.252.131 Mask:255.255.255.0 UP RUNNING NOARP MTU:16260 Metric:1 RX packets:40113 errors:0 dropped:40113 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:10 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:4742 errors:0 dropped:0 overruns:0 frame:0 TX packets:4742 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:2369841 (2.2 Mb) TX bytes:2369841 (2.2 Mb) This is with openmpi-1.1a1r8038 . Here is the output of a hanging invocation.... ----- begin hanging invocation ---- [humphrey@zelda01 humphrey]$ mpiexec -d --mca btl_tcp_if_include eth0 -np 2 a.out [zelda01.localdomain:20455] procdir: (null) [zelda01.localdomain:20455] jobdir: (null) [zelda01.localdomain:20455] unidir: /tmp/openmpi-sessions-humphrey@zelda01.localdomain_0/default-universe [zelda01.localdomain:20455] top: openmpi-sessions-humphrey@zelda01.localdomain_0 [zelda01.localdomain:20455] tmp: /tmp [zelda01.localdomain:20455] connect_uni: contact info read [zelda01.localdomain:20455] connect_uni: connection not allowed [zelda01.localdomain:20455] [0,0,0] setting up session dir with [zelda01.localdomain:20455] tmpdir /tmp [zelda01.localdomain:20455] universe default-universe-20455 [zelda01.localdomain:20455] user humphrey [zelda01.localdomain:20455] host zelda01.localdomain [zelda01.localdomain:20455] jobid 0 [zelda01.localdomain:20455] procid 0 [zelda01.localdomain:20455] procdir: /tmp/openmpi-sessions-humphrey@zelda01.localdomain_0/default-universe-20455/ 0/0 [zelda01.localdomain:20455] jobdir: /tmp/openmpi-sessions-humphrey@zelda01.localdomain_0/default-universe-20455/ 0 [zelda01.localdomain:20455] unidir: /tmp/openmpi-sessions-humphrey@zelda01.localdomain_0/default-universe-20455 [zelda01.localdomain:20455] top: openmpi-sessions-humphrey@zelda01.localdomain_0 [zelda01.localdomain:20455] tmp: /tmp [zelda01.localdomain:20455] [0,0,0] contact_file /tmp/openmpi-sessions-humphrey@zelda01.localdomain_0/default-universe-20455/ universe-setup.txt [zelda01.localdomain:20455] [0,0,0] wrote setup file [zelda01.localdomain:20455] pls:rsh: local csh: 0, local bash: 1 [zelda01.localdomain:20455] pls:rsh: assuming same remote shell as local shell [zelda01.localdomain:20455] pls:rsh: remote csh: 0, remote bash: 1 [zelda01.localdomain:20455] pls:rsh: final template argv: [zelda01.localdomain:20455] pls:rsh: ssh <template> orted --debug --bootproxy 1 --name <template> --num_procs 2 --vpid_start 0 --nodename <template> --universe humphrey@zelda01.localdomain:default-universe-20455 --nsreplica "0.0.0;tcp://130.207.252.131:35465;tcp://10.0.0.11:35465;tcp://130.207.252.1 31:35465" --gprreplica "0.0.0;tcp://130.207.252.131:35465;tcp://10.0.0.11:35465;tcp://130.207.252.1 31:35465" --mpi-call-yield 0 [zelda01.localdomain:20455] pls:rsh: launching on node localhost [zelda01.localdomain:20455] pls:rsh: oversubscribed -- setting mpi_yield_when_idle to 1 (1 2) [zelda01.localdomain:20455] pls:rsh: localhost is a LOCAL node [zelda01.localdomain:20455] pls:rsh: executing: orted --debug --bootproxy 1 --name 0.0.1 --num_procs 2 --vpid_start 0 --nodename localhost --universe humphrey@zelda01.localdomain:default-universe-20455 --nsreplica "0.0.0;tcp://130.207.252.131:35465;tcp://10.0.0.11:35465;tcp://130.207.252.1 31:35465" --gprreplica "0.0.0;tcp://130.207.252.131:35465;tcp://10.0.0.11:35465;tcp://130.207.252.1 31:35465" --mpi-call-yield 1 [zelda01.localdomain:20456] [0,0,1] setting up session dir with [zelda01.localdomain:20456] universe default-universe-20455 [zelda01.localdomain:20456] user humphrey [zelda01.localdomain:20456] host localhost [zelda01.localdomain:20456] jobid 0 [zelda01.localdomain:20456] procid 1 [zelda01.localdomain:20456] procdir: /tmp/openmpi-sessions-humphrey@localhost_0/default-universe-20455/0/1 [zelda01.localdomain:20456] jobdir: /tmp/openmpi-sessions-humphrey@localhost_0/default-universe-20455/0 [zelda01.localdomain:20456] unidir: /tmp/openmpi-sessions-humphrey@localhost_0/default-universe-20455 [zelda01.localdomain:20456] top: openmpi-sessions-humphrey@localhost_0 [zelda01.localdomain:20456] tmp: /tmp [zelda01.localdomain:20457] [0,1,1] setting up session dir with [zelda01.localdomain:20457] universe default-universe-20455 [zelda01.localdomain:20457] user humphrey [zelda01.localdomain:20457] host localhost [zelda01.localdomain:20457] jobid 1 [zelda01.localdomain:20457] procid 1 [zelda01.localdomain:20457] procdir: /tmp/openmpi-sessions-humphrey@localhost_0/default-universe-20455/1/1 [zelda01.localdomain:20457] jobdir: /tmp/openmpi-sessions-humphrey@localhost_0/default-universe-20455/1 [zelda01.localdomain:20457] unidir: /tmp/openmpi-sessions-humphrey@localhost_0/default-universe-20455 [zelda01.localdomain:20457] top: openmpi-sessions-humphrey@localhost_0 [zelda01.localdomain:20457] tmp: /tmp [zelda01.localdomain:20458] [0,1,0] setting up session dir with [zelda01.localdomain:20458] universe default-universe-20455 [zelda01.localdomain:20458] user humphrey [zelda01.localdomain:20458] host localhost [zelda01.localdomain:20458] jobid 1 [zelda01.localdomain:20458] procid 0 [zelda01.localdomain:20458] procdir: /tmp/openmpi-sessions-humphrey@localhost_0/default-universe-20455/1/0 [zelda01.localdomain:20458] jobdir: /tmp/openmpi-sessions-humphrey@localhost_0/default-universe-20455/1 [zelda01.localdomain:20458] unidir: /tmp/openmpi-sessions-humphrey@localhost_0/default-universe-20455 [zelda01.localdomain:20458] top: openmpi-sessions-humphrey@localhost_0 [zelda01.localdomain:20458] tmp: /tmp [zelda01.localdomain:20455] spawn: in job_state_callback(jobid = 1, state = 0x3) [zelda01.localdomain:20455] Info: Setting up debugger process table for applications MPIR_being_debugged = 0 MPIR_debug_gate = 0 MPIR_debug_state = 1 MPIR_acquired_pre_main = 0 MPIR_i_am_starter = 0 MPIR_proctable_size = 2 MPIR_proctable: (i, host, exe, pid) = (0, localhost, /home/humphrey/a.out, 20457) (i, host, exe, pid) = (1, localhost, /home/humphrey/a.out, 20458) [zelda01.localdomain:20455] spawn: in job_state_callback(jobid = 1, state = 0x4) [zelda01.localdomain:20458] [0,1,0] ompi_mpi_init completed [zelda01.localdomain:20457] [0,1,1] ompi_mpi_init completed 2 PE'S AS A 2 BY 1 GRID ------ end hanging invocation ----- Here's the 1-in-approximately-20 that started working... ------- begin non-hanging invocation ----- [humphrey@zelda01 humphrey]$ mpiexec -d --mca btl_tcp_if_include eth0 -np 2 a.out [zelda01.localdomain:20659] procdir: (null) [zelda01.localdomain:20659] jobdir: (null) [zelda01.localdomain:20659] unidir: /tmp/openmpi-sessions-humphrey@zelda01.localdomain_0/default-universe [zelda01.localdomain:20659] top: openmpi-sessions-humphrey@zelda01.localdomain_0 [zelda01.localdomain:20659] tmp: /tmp [zelda01.localdomain:20659] connect_uni: contact info read [zelda01.localdomain:20659] connect_uni: connection not allowed [zelda01.localdomain:20659] [0,0,0] setting up session dir with [zelda01.localdomain:20659] tmpdir /tmp [zelda01.localdomain:20659] universe default-universe-20659 [zelda01.localdomain:20659] user humphrey [zelda01.localdomain:20659] host zelda01.localdomain [zelda01.localdomain:20659] jobid 0 [zelda01.localdomain:20659] procid 0 [zelda01.localdomain:20659] procdir: /tmp/openmpi-sessions-humphrey@zelda01.localdomain_0/default-universe-20659/ 0/0 [zelda01.localdomain:20659] jobdir: /tmp/openmpi-sessions-humphrey@zelda01.localdomain_0/default-universe-20659/ 0 [zelda01.localdomain:20659] unidir: /tmp/openmpi-sessions-humphrey@zelda01.localdomain_0/default-universe-20659 [zelda01.localdomain:20659] top: openmpi-sessions-humphrey@zelda01.localdomain_0 [zelda01.localdomain:20659] tmp: /tmp [zelda01.localdomain:20659] [0,0,0] contact_file /tmp/openmpi-sessions-humphrey@zelda01.localdomain_0/default-universe-20659/ universe-setup.txt [zelda01.localdomain:20659] [0,0,0] wrote setup file [zelda01.localdomain:20659] pls:rsh: local csh: 0, local bash: 1 [zelda01.localdomain:20659] pls:rsh: assuming same remote shell as local shell [zelda01.localdomain:20659] pls:rsh: remote csh: 0, remote bash: 1 [zelda01.localdomain:20659] pls:rsh: final template argv: [zelda01.localdomain:20659] pls:rsh: ssh <template> orted --debug --bootproxy 1 --name <template> --num_procs 2 --vpid_start 0 --nodename <template> --universe humphrey@zelda01.localdomain:default-universe-20659 --nsreplica "0.0.0;tcp://130.207.252.131:35654;tcp://10.0.0.11:35654;tcp://130.207.252.1 31:35654" --gprreplica "0.0.0;tcp://130.207.252.131:35654;tcp://10.0.0.11:35654;tcp://130.207.252.1 31:35654" --mpi-call-yield 0 [zelda01.localdomain:20659] pls:rsh: launching on node localhost [zelda01.localdomain:20659] pls:rsh: oversubscribed -- setting mpi_yield_when_idle to 1 (1 2) [zelda01.localdomain:20659] pls:rsh: localhost is a LOCAL node [zelda01.localdomain:20659] pls:rsh: executing: orted --debug --bootproxy 1 --name 0.0.1 --num_procs 2 --vpid_start 0 --nodename localhost --universe humphrey@zelda01.localdomain:default-universe-20659 --nsreplica "0.0.0;tcp://130.207.252.131:35654;tcp://10.0.0.11:35654;tcp://130.207.252.1 31:35654" --gprreplica "0.0.0;tcp://130.207.252.131:35654;tcp://10.0.0.11:35654;tcp://130.207.252.1 31:35654" --mpi-call-yield 1 [zelda01.localdomain:20660] [0,0,1] setting up session dir with [zelda01.localdomain:20660] universe default-universe-20659 [zelda01.localdomain:20660] user humphrey [zelda01.localdomain:20660] host localhost [zelda01.localdomain:20660] jobid 0 [zelda01.localdomain:20660] procid 1 [zelda01.localdomain:20660] procdir: /tmp/openmpi-sessions-humphrey@localhost_0/default-universe-20659/0/1 [zelda01.localdomain:20660] jobdir: /tmp/openmpi-sessions-humphrey@localhost_0/default-universe-20659/0 [zelda01.localdomain:20660] unidir: /tmp/openmpi-sessions-humphrey@localhost_0/default-universe-20659 [zelda01.localdomain:20660] top: openmpi-sessions-humphrey@localhost_0 [zelda01.localdomain:20660] tmp: /tmp [zelda01.localdomain:20661] [0,1,1] setting up session dir with [zelda01.localdomain:20661] universe default-universe-20659 [zelda01.localdomain:20661] user humphrey [zelda01.localdomain:20661] host localhost [zelda01.localdomain:20661] jobid 1 [zelda01.localdomain:20661] procid 1 [zelda01.localdomain:20661] procdir: /tmp/openmpi-sessions-humphrey@localhost_0/default-universe-20659/1/1 [zelda01.localdomain:20661] jobdir: /tmp/openmpi-sessions-humphrey@localhost_0/default-universe-20659/1 [zelda01.localdomain:20661] unidir: /tmp/openmpi-sessions-humphrey@localhost_0/default-universe-20659 [zelda01.localdomain:20661] top: openmpi-sessions-humphrey@localhost_0 [zelda01.localdomain:20661] tmp: /tmp [zelda01.localdomain:20662] [0,1,0] setting up session dir with [zelda01.localdomain:20662] universe default-universe-20659 [zelda01.localdomain:20662] user humphrey [zelda01.localdomain:20662] host localhost [zelda01.localdomain:20662] jobid 1 [zelda01.localdomain:20662] procid 0 [zelda01.localdomain:20662] procdir: /tmp/openmpi-sessions-humphrey@localhost_0/default-universe-20659/1/0 [zelda01.localdomain:20662] jobdir: /tmp/openmpi-sessions-humphrey@localhost_0/default-universe-20659/1 [zelda01.localdomain:20662] unidir: /tmp/openmpi-sessions-humphrey@localhost_0/default-universe-20659 [zelda01.localdomain:20662] top: openmpi-sessions-humphrey@localhost_0 [zelda01.localdomain:20662] tmp: /tmp [zelda01.localdomain:20659] spawn: in job_state_callback(jobid = 1, state = 0x3) [zelda01.localdomain:20659] Info: Setting up debugger process table for applications MPIR_being_debugged = 0 MPIR_debug_gate = 0 MPIR_debug_state = 1 MPIR_acquired_pre_main = 0 MPIR_i_am_starter = 0 MPIR_proctable_size = 2 MPIR_proctable: (i, host, exe, pid) = (0, localhost, /home/humphrey/a.out, 20661) (i, host, exe, pid) = (1, localhost, /home/humphrey/a.out, 20662) [zelda01.localdomain:20659] spawn: in job_state_callback(jobid = 1, state = 0x4) [zelda01.localdomain:20662] [0,1,0] ompi_mpi_init completed [zelda01.localdomain:20661] [0,1,1] ompi_mpi_init completed 2 PE'S AS A 2 BY 1 GRID HALO2A NPES,N = 2 2 TIME = 0.000007 SECONDS HALO2A NPES,N = 2 4 TIME = 0.000007 SECONDS HALO2A NPES,N = 2 8 TIME = 0.000007 SECONDS HALO2A NPES,N = 2 16 TIME = 0.000008 SECONDS HALO2A NPES,N = 2 32 TIME = 0.000009 SECONDS HALO2A NPES,N = 2 64 TIME = 0.000011 SECONDS mpiexec: killing job... Interrupt Interrupt [zelda01.localdomain:20660] sess_dir_finalize: found proc session dir empty - deleting [zelda01.localdomain:20660] sess_dir_finalize: job session dir not empty - leaving [zelda01.localdomain:20660] sess_dir_finalize: found proc session dir empty - deleting [zelda01.localdomain:20660] sess_dir_finalize: found job session dir empty - deleting [zelda01.localdomain:20660] sess_dir_finalize: univ session dir not empty - leaving [zelda01.localdomain:20659] spawn: in job_state_callback(jobid = 1, state = 0xa) [zelda01.localdomain:20660] orted: job_state_callback(jobid = 1, state = ORTE_PROC_STATE_ABORTED) [zelda01.localdomain:20659] spawn: in job_state_callback(jobid = 1, state = 0x9) 2 processes killed (possibly by Open MPI) [zelda01.localdomain:20660] orted: job_state_callback(jobid = 1, state = ORTE_PROC_STATE_TERMINATED) [zelda01.localdomain:20660] sess_dir_finalize: found proc session dir empty - deleting [zelda01.localdomain:20660] sess_dir_finalize: found job session dir empty - deleting [zelda01.localdomain:20660] sess_dir_finalize: found univ session dir empty - deleting [zelda01.localdomain:20660] sess_dir_finalize: found top session dir empty - deleting [zelda01.localdomain:20659] sess_dir_finalize: found proc session dir empty - deleting [zelda01.localdomain:20659] sess_dir_finalize: found job session dir empty - deleting [zelda01.localdomain:20659] sess_dir_finalize: found univ session dir empty - deleting [zelda01.localdomain:20659] sess_dir_finalize: top session dir not empty - leaving [humphrey@zelda01 humphrey]$ -------- end non-hanging invocation ------ Any thoughts? -- Marty > -----Original Message----- > From: users-boun...@open-mpi.org [mailto:users-boun...@open-mpi.org] On > Behalf Of Jeff Squyres > Sent: Tuesday, November 01, 2005 2:17 PM > To: Open MPI Users > Subject: Re: [O-MPI users] can't get openmpi to run across two multi- > NICmachines > > On Nov 1, 2005, at 12:02 PM, Marty Humphrey wrote: > > > wukong: eth0 (152.48.249.102, no MPI traffic), eth1 (128.109.34.20,yes > > MPI > > traffic) > > zelda01: eth0 (130.207.252.131, yes MPI traffic), eth2 (10.0.0.12, no > > MPI > > traffic) > > > > on wukong, I have : > > [humphrey@wukong ~]$ more ~/.openmpi/mca-params.conf > > btl_tcp_if_include=eth1 > > on zelda01, I have : > > [humphrey@zelda01 humphrey]$ more ~/.openmpi/mca-params.conf > > btl_tcp_if_include=eth0 > > Just to make sure I'm reading this right -- 128.109.34.20 is supposed > to be routable to 130.207.252.131, right? Can you ssh directly from > one machine to the other? (I'm guessing that you can because OMPI was > able to start processes) Can you ping one machine from the other? > > Most importantly -- can you open arbitrary TCP ports between the two > machines? (i.e., not just well-known ports like 22 [ssh], etc.) > > -- > {+} Jeff Squyres > {+} The Open MPI Project > {+} http://www.open-mpi.org/ > > _______________________________________________ > users mailing list > us...@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/users