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:
10.3.2.100:1
10.3.2.101:2

Where 10.3.2.100 is a local host.
As result I get
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.