-
Notifications
You must be signed in to change notification settings - Fork 877
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
TCP: unexpected process identifier in connect_ack #6240
Comments
Another defective behavior observed salloc -N2 -Ccauchy /home/bouteill/ompi/master.debug/bin/mpirun -npernode 1 -display-map -mca btl tcp,self IMB-MPI1 pingpong
salloc: Granted job allocation 245942
salloc: Waiting for resource configuration
salloc: Nodes c[00-01] are ready for job
Data for JOB [8161,1] offset 0 Total slots allocated 16
======================== JOB MAP ========================
Data for node: c00 Num slots: 8 Max slots: 0 Num procs: 1
Process OMPI jobid: [8161,1] App: 0 Process rank: 0 Bound: N/A
Data for node: c01 Num slots: 8 Max slots: 0 Num procs: 1
Process OMPI jobid: [8161,1] App: 0 Process rank: 1 Bound: N/A
=============================================================
[...]
# PingPong
--------------------------------------------------------------------------
WARNING: Open MPI accepted a TCP connection from what appears to be a
another Open MPI process but cannot find a corresponding process
entry for that peer.
This attempted connection will be ignored; your MPI job may or may not
continue properly.
Local host: c01
PID: 22596
-------------------------------------------------------------------------- |
Issue looks related to multirail and non-routable interfaces. By forcing the salloc -N2 -Ccauchy /home/bouteill/ompi/master.debug/bin/mpirun -npernode 1 -display-map -mca btl_tcp_if_include eth0,ib1 -mca btl tcp,self IMB-MPI1 pingpong
# NORMAL
salloc -N2 -Ccauchy /home/bouteill/ompi/master.debug/bin/mpirun -npernode 1 -display-map -mca btl_tcp_if_include eth0,virbr0 -mca btl tcp,self IMB-MPI1 pingpong
# FAIL
salloc -N2 -Ccauchy /home/bouteill/ompi/master.debug/bin/mpirun -npernode 1 -display-map -mca btl_tcp_if_include virbr0 -mca btl tcp,self IMB-MPI1 pingpong
# FAIL (as expected, but not with the correct error message). |
Any progress? Version 2.1.1:
|
Hi @abouteiller Has there been any progress on fixing this bug? I just checked out master and I'm still facing issues with OSU benchmarks (although the problems go away if I use pml UCX) Do you happen to know of a workaround for non-UCX case ( cc @jsquyres |
I'm seeing an issue with BTL/tcp and Open MPI 4.0.1 when using three hosts with the following network interfaces:
With Open MPI 3.1.3, I can make it working with Could my observed behavior be related to this issue? |
@Akshay-Venkatesh try to select only routable interfaces with |
@abouteiller, our issue is that this is not a general workaround. We are packaging a binary distribution of Open MPI and would love to see it working on all kinds of systems without requiring manual user intervention like special command line flags. With Open MPI 3, ignoring Would you consider this a bug/regression in Open MPI 4? On a side note, some while ago, I opened a ticket regarding a similar issue with Open MPI 3 (#6377), and @bwbarrett chimed in there and said that BTL/tcp has known issues with interface pairing which will be addressed at some point. |
@bwbarrett, seems like many things related to PMIX have changed since |
I'm not sure what PMIx has to do with your situation. PMIx communications are purely node-local and never cross between nodes. Or are you saying you have different OMPI prefix locations on each node (or type of node)? I can see where that would be a problem on OMPI master right now. |
@rhc54 I managed to get it working. I am testing on three hosts, each having the following network interfaces:
@bwbarrett Looks like I still have to specify |
@mkre Do you know whether the Netlinks or the Weighted Reachable Component are being utilized? |
PRRTE has not been updated to use reachable, @wckzhang, and so the RTE startup could well be hanging in these scenarios. |
Hmm, I don't think I considered what would happen in that case. That might explain it. |
@wckzhang, from the output from |
Weighted reachable component is less intelligent than the netlinks component. It weights connections based on Public IP same network > Public IP different network > Private IP same network < Private IP different network, as well as bandwidth. I believe it can say two interfaces on different subnets are reachable, but are low weighted. Try using netlinks, you may get greater success with that component (The Netlink component uses libnl to determine connectivity between pairs of interfaces. It is functional for both IPv4 and IPv6. The main downside of this component is that is requires libnl, which is a Linux only library which is not installed by default on many systems.) |
@wckzhang, seems like our Open MPI distribution does not support |
@mkre can you include output of configure and/or the generated |
@bwbarrett, sure: |
Upon job startup, the program deadlocks with the following output. Upon quick investigation, the opal_proc name is valid, but does not match the number that came from the socket (same jobid, but different (valid) rank).
What version of Open MPI are you using? (e.g., v1.10.3, v2.1.0, git branch name and hash, etc.)
Please describe the system on which you are running
Details of the problem
The same run with options
-mca btl openib,vader,self
completes successfully.The text was updated successfully, but these errors were encountered: