socket.
Dear
MPICH.
I'm using mpich 3.1 (hydra+MPI).
I execute main application (Main) which calls mpiexec.hydra in following way:
mpiexec.hydra -genvall -disable-auto-cleanup -f MpiConfigMachines.txt -launcher=ssh -n 3 MPI_Prog
MpiConfigMachines.txt content:
Where 10.3.2.100 is a local host.
As result I get
- Main + single MPI_Prog processes on local computer
- 2 MPI_Prog processes on remote one.
Main application establish TCP socket with local MPI_Prog.
Main application establish TCP socket with controller on other computer 10.3.2.170, which is not included in MpiConfigMachines.txt file.
After executing some time (hours, sometimes days) I see via netstat that created new connection from mpiexec.hydra and controller.
Before executing mpiexec.hydra I set environment variable
setenv MPIEXEC_PORT_RANGE 50010:65535
According to manual this variable limits hydra destination ports to [50010:65535].
I see that hydra uses these ports with MPI_Prog, but connection with controller done on port 701 (controller computer).
Controller program is a server. It can accept connections only.
Can you please advice how to stand with this problem?
How hydra recognizes controller IP and establish connection with it?
Sincerely,
Anatoly.