[MPICH] Re: Using MPICH2 on different ports

Anthony Chan chan at mcs.anl.gov
Fri Apr 20 12:13:05 CDT 2007


Wouldn't that be easier to use one (or couple) of the machines behind the
firewall as the frontend(s) of your cluster.  Anyone who wants to run
spmd/MPI job will need to login to the frontend(s) and run from there ?
I think there may be performance hit to have all messages route through
the NAT'ed machine (don't know how big though) even if what you are asking
can be done.

A.Chan

On Fri, 20 Apr 2007, Matt Valerio wrote:

> Hi everyone,
>
> Thanks for your responses.  I think they've answered my question, and the
> answer is that what I want to do is not possible.
>
> Yes, Matthew Chambers has it right.
>
> My current grid setup involves a number of computers (192.168.0.*), each
> running smpd on port 8676.  I have one of those computers as the "gateway",
> that has 2 network cards, with one connected to the public network and one
> connected to the private network.  I want to give any computer in the public
> network access to the computers on the private network by opening up a range
> of ports on the gateway computer.  This approach is exactly how I open up
> Remote Desktop (RDP) currently.
>
> So for example, I want to set up the forwarding as:
> gateway:10101 --> slave01:8676
> gateway:10102 --> slave02:8676
> gateway:10103 --> slave03:8676
> etc.
>
> As you've said, this approach is currently not possible -- the machine file
> doesn't allow it.  For various reasons, I cannot put all of the computers on
> the private network onto the public network -- using NAT is my only option.
>
> Sorry for the confusion of firewall vs. NAT.  The port forwarding rules are
> firewall exceptions in the control panel, so I get confused.
>
> So.....does anyone know if there are plans to implement this kind of
> fine-grained control over the network connections?  I think it would greatly
> enhance the ways that MPICH2 clusters can be deployed.
>
> Thanks for your help,
> -Matt
>
>
> On 4/20/07, Matthew Chambers <matthew.chambers at vanderbilt.edu> wrote:
> >
> >  I don't understand how that could solve his problem.  I think Matt
> > Valerio's initial description of the problem was misleading, though.  It
> > seems to me that he is not trying to connect through a simple firewall, he
> > is trying to connect through a NAT.  It seems he wants to use port
> > forwarding set up on the NAT in way that will enable him, from a computer
> > outside the NAT, to create a machine config file that connects to the same
> > host IP (e.g. the WAN IP of the NAT) with different ports, which will
> > logically connect to multiple machines inside of the NAT.  However, as you
> > say, that is not possible with the current SMPD machine config file.  I do
> > think that is bad design on the part of the config file though.  Would it be
> > very difficult to extend the config file to support specification of port as
> > well as host/IP?
> >
> >
> >   ------------------------------
> >
> > *From:* owner-mpich-discuss at mcs.anl.gov [mailto:owner-
> > mpich-discuss at mcs.anl.gov] *On Behalf Of *Jayesh Krishna
> > *Sent:* Friday, April 20, 2007 10:56 AM
> > *To:* 'Matt Valerio'
> > *Cc:* mpich-discuss at mcs.anl.gov
> > *Subject:* RE: [MPICH] Re: Using MPICH2 on different ports
> >
> >
> >
> > Hi,
> >
> >  SMPD, by default, runs on the same port (8676) on all computers. However
> > you can specify the port that smpd needs to run using the "-port" option
> > while starting smpd (You can also ask smpd to run on any port assigned by OS
> > using the "-anyport" option). The machine config file does not support
> > specifying port names along with the machine name & number of procs.
> >
> >  Instead of mapping the port numbers to IP+port you could allow
> > connections from a certain list of client machines/IPs to certain port (say
> > 8000) numbers on computer1/2/..
> >
> >  Let us know if you require any further information.
> >
> >
> >
> > Regards,
> >
> > Jayesh
> >
> >
> >  ------------------------------
> >
> > *From:* owner-mpich-discuss at mcs.anl.gov [mailto:owner-
> > mpich-discuss at mcs.anl.gov] *On Behalf Of *Matt Valerio
> > *Sent:* Wednesday, April 18, 2007 11:04 AM
> > *To:* mpich-discuss at mcs.anl.gov
> > *Subject:* [MPICH] Re: Using MPICH2 on different ports
> >
> > Ok, let me try to simplify the question.
> >
> > Does smpd need to run on the same port on all computers?
> > Can I tell mpiexec that it needs to connect to all of the smpd computers
> > on different ports?
> >
> > I know that the machine config file can specify different computers, but
> > the same port.  I am just curious if the machine config file can specify
> > different computers as well as different ports.
> >
> > Any help would be greatly apppreciated.  Thanks!
> > -Matt
> >
> >
> >  On 4/16/07, *Matt Valerio* <matt.valerio at gmail.com > wrote:
> >
> > Hello MPICH2 users,
> >
> > I am wondering if there is a way to instruct mpiexec to use multiple
> > computers running smpd on different ports.
> >
> > For example, I have 10 computers behind a firewall.  Each of those 10
> > computers is running smpd on the same port (let's say 8000).
> > I want to put rules into a firewall computer that maps an
> > externally-available port to the specific computer
> >
> > firewall:8001 ----(maps to)----------> computer1:8000
> > firewall:8002 ----(maps to)----------> computer2:8000
> > ...
> > firewall:8010 ----(maps to)----------> computer10:8000
> >
> > Then in the machine configuration file, I need to be able to tell mpiexec
> > that it can use the same computer but different ports (8000-8010), like
> >
> > firewall:8001
> > firewall:8002
> > ...
> > firewall:8010
> >
> > etc.
> >
> > Is this currently possible?  I know the machine file format is wrong
> > because the number after the colon specifies the number of processes, not
> > the port number.
> >
> > Does anyone have any ideas as to whether this kind of thing could work?
> > Is there a better way?  Any help would be greatly appreciated.
> >
> > Thanks!
> > -Matt
> >
> >
> >
> >
>




More information about the mpich-discuss mailing list