Re: [OMPI users] Open-MPI and TCP port range

2006-04-20 Thread Jeff Squyres (jsquyres)
Greetings.  Apologies it's taken us so long to reply -- we're all at an
Open MPI workshop this week and it's consuming just about all of our
time.

Right now, there is no way to restrict the port range that Open MPI will
use.  We simply ask the operating system for available ports and it
gives us a random one that is not being used.

So if you're setting up servers that used fixed TCP/UDP ports, there
shouldn't be a problem -- when MPI jobs run, those servers should be
occupying the TCP/UDP ports in question, and therefore the MPI jobs
won't use them.  If you've got dynamic applications that aren't "always
running" (or nearly so) and therefore the TCP/UDP ports in question may
not always be reserved, you *could* clash with MPI jobs (e.g., an MPI
job could randomly take the port that you're expecting to be able to
use).

BTW, I'm *assuming* that your jobs will use non-privileged ports.  Is
this right?  If they use privileged ports, then there's no conflict --
Open MPI doesn't use privileged ports.

However, in practice, there's little chance of a conflict.  The port
range is so large that it's unlikely to happen (of course, saying that
pretty much guarantees that it *will* happen ;-) ).  Right now, there's
no way in Open MPI to restrict which TCP ports it uses.  If this becomes
a problem for you (i.e., the random MPI-chose-the-same-port-as-your-app
events happen a lot), let us know and we can probably put in some
controls to work around this.


> -Original Message-
> From: users-boun...@open-mpi.org 
> [mailto:users-boun...@open-mpi.org] On Behalf Of 
> laurent.po...@fr.thalesgroup.com
> Sent: Tuesday, April 18, 2006 10:09 AM
> To: us...@open-mpi.org
> Subject: [OMPI users] Open-MPI and TCP port range
> 
> Hi, 
> 
> I am  a new user of Open-MPI, and I need to use 2 kinds of 
> programs on an unique cluster :
> 1) MPI based programs
> 2) Others, using TCP and UDP
> 
> In order to get my non-MPI programs run, I need to know which 
> ports may be used by MPI programs.
> Is there a way to know/set the range of the ports used by MPI 
> programs ?
> 
> Thanks
>   Laurent.
> ___
> users mailing list
> us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users
> 



[OMPI users] Configuration error

2006-04-20 Thread sdamjad
Folks

I am trying to  compile openmpi v1.0.2 on MAC OSX 10.4.6

It gives me ac_nonexistent.h error

I am enclosing my config.log here


config.out
Description: Binary data


[OMPI users] Configuration error

2006-04-20 Thread sdamjad
Folks

I am trying to  compile openmpi v1.0.2 on MAC OSX 10.4.6

It gives me ac_nonexistent.h error

I am enclosing my config.log here


config.out
Description: Binary data


Re: [OMPI users] Configuration error

2006-04-20 Thread Brian Barrett

On Apr 20, 2006, at 8:23 AM, sdamjad wrote:


Folks

I am trying to  compile openmpi v1.0.2 on MAC OSX 10.4.6

It gives me ac_nonexistent.h error

I am enclosing my config.log here


The config.out file you attached points to a problem with your  
Fortran compiler.  However, without seeing the config.log file that  
configure generated, I can't tell exactly what the issue was.  It  
would be useful if you could include all the information we need for  
debugging, which is specified at our "Getting Help" web page:


http://www.open-mpi.org/community/help/

Thanks,

Brian

--
  Brian Barrett
  Open MPI developer
  http://www.open-mpi.org/




[OMPI users] OMPI-F90-CHECK macro needs to be updated?

2006-04-20 Thread Michael Kluskens

Getting warnings like:

WARNING: *** Fortran 77 alignment for INTEGER (1) does not match
WARNING: *** Fortran 90 alignment for INTEGER (4)
WARNING: *** OMPI-F90-CHECK macro needs to be updated!

same for LOGICAL, REAL, COMPLEX, INTEGER*2, INTEGER*4, INTEGER*8, etc.

I believe these are new within the last week.

The configure script is generating these warnings when building  
openmpi-1.1a3r9663 using g95 from April 19 on OS X 10.4.6.   
Configured with "./configure F77=g95 FC=g95 LDFLAGS=-lSystemStubs"




config.log.gz
Description: GNU Zip compressed data


config-output.txt.gz
Description: GNU Zip compressed data


[OMPI users] OpenMPI and SLURM configuration ?

2006-04-20 Thread 杨科
Hi,all£¬ recently I've installed OpenMPI on our cluster (4 nodes, each node got
one installation), but finally I found it could not work well with the 
underlying
resource management system SLURM. That is,after I typed the following, it seemed
mpirun hang there:

[semper@IA64_node2]  srun ¨CN 2 ¨CA
[semper@IA64_node2]  mpirun  -np 2 /tmp/cpi

I installed OpenMPI and SLURM all under HOME directory of user semper , and each
works well separately. I can test with such commands: 
"srun ¨CN 4 /bin/hostname ¨Cs",  there goes correct results( 2 from node2, and 2
from node4). And "mpirun ¨Cnp 4 cpi" works well on the local node.btw ,following
is some information.
NodeUserHOMEOpenMPI(SLURM)
IA64_node0  semper  /home/disk0/semper  $HOME/openmpi(slurm)
IA64_node1  semper  /home/disk1/semper  $HOME/openmpi(slurm)
IA64_node2  semper  /home/disk2/semper  $HOME/openmpi(slurm)
IA64_node3  semper  /home/disk3/semper  $HOME/openmpi(slurm)

PATH=$HOME/openmpi/bin:$HOME/slurm/sbin:$HOME/slurm/bin:$PATH
LD_LIBRARY_PATH=$HOME/openmpi/lib:$LD_LIBRARY_PATH

Does that different HOME path matter?
Can anybody detail me how to configure these two to work together?[ It nearly
drives me crazy 8-( ]  Thank you.






Re: [OMPI users] OpenMPI and SLURM configuration ?

2006-04-20 Thread George Bosilca


On Apr 20, 2006, at 9:57 AM, 杨科 wrote:


[semper@IA64_node2]  srun ¨CN 2 ¨CA
[semper@IA64_node2]  mpirun  -np 2 /tmp/cpi


Do you really have a shared /tmp on your cluster ? We do not copy the  
file on the nodes, they have to be on a shared file system, or at  
least they have to exist on the same place on all the nodes.


  george.




Re: [OMPI users] OpenMPI and SLURM configuration ?

2006-04-20 Thread 杨科
>Do you really have a shared /tmp on your cluster ? We do not copy the  
>file on the nodes, they have to be on a shared file system, or at  
>least they have to exist on the same place on all the nodes.
>
>   george.
>

No,but I put a copy of cpi in the /tmp directory on each node.
Because I wonder that put the executables under HOME direcotry(which differs)
might have some trouble.






Re: [OMPI users] Open-MPI and TCP port range

2006-04-20 Thread Bogdan Costescu
On Thu, 20 Apr 2006, Jeff Squyres (jsquyres) wrote:

> Right now, there is no way to restrict the port range that Open MPI
> will use. ... If this becomes a problem for you (i.e., the random
> MPI-chose-the-same-port-as-your-app events happen a lot), let us
> know and we can probably put in some controls to work around this.

I would welcome a discussion about this; on the LAM/MPI lists several
people asked for a limited port range to allow them to pass through
firewalls or to do tunelling.

-- 
Bogdan Costescu

IWR - Interdisziplinaeres Zentrum fuer Wissenschaftliches Rechnen
Universitaet Heidelberg, INF 368, D-69120 Heidelberg, GERMANY
Telephone: +49 6221 54 8869, Telefax: +49 6221 54 8868
E-mail: bogdan.coste...@iwr.uni-heidelberg.de



[OMPI users] f90 interface error?: MPI_Comm_get_attr

2006-04-20 Thread Michael Kluskens

Error in:

openmpi-1.1a3r9663/ompi/mpi/f90/mpi-f90-interfaces.h

subroutine MPI_Comm_get_attr(comm, comm_keyval, attribute_val, flag,  
ierr)

  include 'mpif.h'
  integer, intent(in) :: comm
  integer, intent(in) :: comm_keyval
  integer(kind=MPI_ADDRESS_KIND), intent(out) :: attribute_val
  integer, intent(out) :: flag
  integer, intent(out) :: ierr
end subroutine MPI_Comm_get_attr

flag should be a logical.  Only in C is it an integer.

Compare with page 294 of MPI--The Complete Reference, Volume 1 and  
page 176 of Using MPI, 2nd ed.


In my test case I'm using:

  call MPI_Comm_get_attr(MPI_COMM_WORLD, MPI_UNIVERSE_SIZE, &
  universe_size, flag, ierr)

  integer :: ierr
  integer  (kind=MPI_ADDRESS_KIND) :: universe_size
  logical :: flag

This compiled and worked as of version 9427.

Michael



Re: [OMPI users] f90 interface error?: MPI_Comm_get_attr

2006-04-20 Thread Michael Kluskens
The file 'ompi/mpi/f90/mpi-f90-interfaces.h' is automatically  
generated by ompi/mpi/f90/scripts/mpi-f90-interfaces.h.sh?  I  
couldn't get my temp fix to stick so I modified the latter.


Should be?


subroutine ${procedure}(comm, comm_keyval, attribute_val, flag, ierr)
  include 'mpif.h'
  integer, intent(in) :: comm
  integer, intent(in) :: comm_keyval
  integer(kind=MPI_ADDRESS_KIND), intent(out) :: attribute_val
  logical, intent(out) :: flag
  integer, intent(out) :: ierr
end subroutine ${procedure}

EOF
}

start MPI_Comm_get_attr small
output MPI_Comm_get_attr
end MPI_Comm_get_attr


I notice that f77 is correct in: ompi/mpi/f77/prototypes_mpi.h
PN(void, mpi_comm_get_attr, MPI_COMM_GET_ATTR, (MPI_Fint *comm,  
MPI_Fint *comm_keyval, MPI_Aint *attribute_val, MPI_Flogical *flag,  
MPI_Fint *ierr));


On Apr 20, 2006, at 2:24 PM, Michael Kluskens wrote:


Error in:

openmpi-1.1a3r9663/ompi/mpi/f90/mpi-f90-interfaces.h

subroutine MPI_Comm_get_attr(comm, comm_keyval, attribute_val, flag,
ierr)
   include 'mpif.h'
   integer, intent(in) :: comm
   integer, intent(in) :: comm_keyval
   integer(kind=MPI_ADDRESS_KIND), intent(out) :: attribute_val
   integer, intent(out) :: flag
   integer, intent(out) :: ierr
end subroutine MPI_Comm_get_attr

flag should be a logical.  Only in C is it an integer.

Compare with page 294 of MPI--The Complete Reference, Volume 1 and
page 176 of Using MPI, 2nd ed.

In my test case I'm using:

   call MPI_Comm_get_attr(MPI_COMM_WORLD, MPI_UNIVERSE_SIZE, &
   universe_size, flag, ierr)

   integer :: ierr
   integer  (kind=MPI_ADDRESS_KIND) :: universe_size
   logical :: flag

This compiled and worked as of version 9427.

Michael

___
users mailing list
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users





Re: [OMPI users] Open-MPI and TCP port range

2006-04-20 Thread Jeff Squyres (jsquyres)
> -Original Message-
> From: users-boun...@open-mpi.org 
> [mailto:users-boun...@open-mpi.org] On Behalf Of Bogdan Costescu
> Sent: Thursday, April 20, 2006 10:32 AM
> To: Open MPI Users
> Subject: Re: [OMPI users] Open-MPI and TCP port range
> 
> On Thu, 20 Apr 2006, Jeff Squyres (jsquyres) wrote:
> 
> > Right now, there is no way to restrict the port range that Open MPI
> > will use. ... If this becomes a problem for you (i.e., the random
> > MPI-chose-the-same-port-as-your-app events happen a lot), let us
> > know and we can probably put in some controls to work around this.
> 
> I would welcome a discussion about this; on the LAM/MPI lists several
> people asked for a limited port range to allow them to pass through
> firewalls or to do tunneling.

Recall that we didn't end up doing this in LAM because limiting the port
ranges is not necessarily sufficient to allow you to run parallel
computing spanning firewalls.  The easiest solution is to have a single
routing entity that can be exposed publicly (in front of the firewall,
either virtually or physically) that understands MPI -- so that MPI
processes outside the firewall can send to this entity and it routes the
messages to the appropriate back-end MPI process.  This routable entity
does not exist for LAM (*), and does not yet exist for Open MPI (there
have been discussions about creating it, but nothing has been done about
it).

(*) Disclaimer: the run-time environment for LAM actually does support
this kind of routing, but we stopped actively maintaining it years ago
-- it may or may not work at the MPI layer.

Other scenarios are also possible, two of which include:

1. make a virtual public IP address in front of the firewall for each
back-end node.  MPI processes who send data to the public IP address
will be routed [by the firewall] back to the back-end node.

2. use a single virtual public IP address in front of the firewall with
N ports open.  MPI processes who send data to the public IP address
dispatch to the back-end node [by the firewall] based on the port
number.

Both of these require opening a bunch of holes in the firewall which is
at least somewhat unattractive.

So probably the best solution is to have an MPI-level routable entity
that can do this stuff.  Then you only need one public IP address and
potentially a small number of ports opened.

That being said, we are not opposed to putting port number controls in
Open MPI.  Especially if it really is a problem for someone, not just a
hypothetical problem ;-).  But such controls should not be added to
support firewalled operations, because -- at a minimum -- unless you do
a bunch of other firewall configuration, it will not be enough.

-- 
Jeff Squyres
Server Virtualization Business Unit
Cisco Systems



Re: [OMPI users] OpenMPI and SLURM configuration ?

2006-04-20 Thread Jeff Squyres (jsquyres)
No, the location of $HOME should not matter.

What happens if you "mpirun -np 2 uptime"?  (i.e., use mpirun to launch
a non-MPI application)


> -Original Message-
> From: users-boun...@open-mpi.org 
> [mailto:users-boun...@open-mpi.org] On Behalf Of ??
> Sent: Thursday, April 20, 2006 10:17 AM
> To: us...@open-mpi.org
> Subject: Re: [OMPI users] OpenMPI and SLURM configuration ?
> 
> >Do you really have a shared /tmp on your cluster ? We do not 
> copy the  
> >file on the nodes, they have to be on a shared file system, or at  
> >least they have to exist on the same place on all the nodes.
> >
> >   george.
> >
> 
> No,but I put a copy of cpi in the /tmp directory on each node.
> Because I wonder that put the executables under HOME 
> direcotry(which differs)
> might have some trouble.
> 
> 
> 
> 
> ___
> users mailing list
> us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users
> 



Re: [OMPI users] Open-MPI and TCP port range

2006-04-20 Thread Ralph Castain




Just as a further point here - the biggest issue with making a routable
public IP address is deciding what that address should be. This is not
a simple problem as (a) we operate exclusively at the user level, and
so (b) we can't define a single address that we can reliably know from
a remote location (we would need at least one for every user, which
isn't a feasible solution). Our solution so far is to launch a "probe"
process on the publicly-accessible node and have it check a known
location on the file system for the IP address of the accessible
"router" for this user.

Not a perfect solution by any means - but that's where we are for now.
Ralph


Jeff Squyres (jsquyres) wrote:

  
-Original Message-
From: users-boun...@open-mpi.org 
[mailto:users-boun...@open-mpi.org] On Behalf Of Bogdan Costescu
Sent: Thursday, April 20, 2006 10:32 AM
To: Open MPI Users
Subject: Re: [OMPI users] Open-MPI and TCP port range

On Thu, 20 Apr 2006, Jeff Squyres (jsquyres) wrote:



  Right now, there is no way to restrict the port range that Open MPI
will use. ... If this becomes a problem for you (i.e., the random
MPI-chose-the-same-port-as-your-app events happen a lot), let us
know and we can probably put in some controls to work around this.
  

I would welcome a discussion about this; on the LAM/MPI lists several
people asked for a limited port range to allow them to pass through
firewalls or to do tunneling.

  
  
Recall that we didn't end up doing this in LAM because limiting the port
ranges is not necessarily sufficient to allow you to run parallel
computing spanning firewalls.  The easiest solution is to have a single
routing entity that can be exposed publicly (in front of the firewall,
either virtually or physically) that understands MPI -- so that MPI
processes outside the firewall can send to this entity and it routes the
messages to the appropriate back-end MPI process.  This routable entity
does not exist for LAM (*), and does not yet exist for Open MPI (there
have been discussions about creating it, but nothing has been done about
it).

(*) Disclaimer: the run-time environment for LAM actually does support
this kind of routing, but we stopped actively maintaining it years ago
-- it may or may not work at the MPI layer.

Other scenarios are also possible, two of which include:

1. make a virtual public IP address in front of the firewall for each
back-end node.  MPI processes who send data to the public IP address
will be routed [by the firewall] back to the back-end node.

2. use a single virtual public IP address in front of the firewall with
N ports open.  MPI processes who send data to the public IP address
dispatch to the back-end node [by the firewall] based on the port
number.

Both of these require opening a bunch of holes in the firewall which is
at least somewhat unattractive.

So probably the best solution is to have an MPI-level routable entity
that can do this stuff.  Then you only need one public IP address and
potentially a small number of ports opened.

That being said, we are not opposed to putting port number controls in
Open MPI.  Especially if it really is a problem for someone, not just a
hypothetical problem ;-).  But such controls should not be added to
support firewalled operations, because -- at a minimum -- unless you do
a bunch of other firewall configuration, it will not be enough.

  





Re: [OMPI users] (no subject)

2006-04-20 Thread semper
> No, the location of $HOME should not matter.
> 
> What happens if you "mpirun -np 2 uptime"?  (i.e., use mpirun to launch
> a non-MPI application)
>  
Thanks.
it returns right result!  but still only 2 local processes. 

I tried again to add a hostfile option "--hostfile $HOME/openmpi/bin/hostfile" 
to
mpirun, with the hostfile containning two items: IA64_node0 and IA64_node1 ,but
this time it complained:
[time returned by IA64_node0]
bash line 1: orted : command not found

oops,did I do a misconfig for openmpi?
btw,openmpi was installed under HOME directory of user semper on each node of 
the
cluster. The 4 nodes can "ssh" or "rsh" login in each other without password
prompt. 




Re: [OMPI users] OpenMPI and SLURM configuration ??

2006-04-20 Thread semper
> No, the location of $HOME should not matter. 
> 
> What happens if you "mpirun -np 2 uptime"? (i.e., use mpirun to launch 
> a non-MPI application) 
> 

Thanks. 
it returns right result! but still only 2 local processes. 


I tried again to add a hostfile option "--hostfile $HOME/openmpi/bin/hostfile" 
to

mpirun, with the hostfile containning two items: IA64_node0 and IA64_node1 ,but 
this time it complained: 
[time returned by IA64_node0] 
bash line 1: orted : command not found 


oops! Should I have done a misconfig for openmpi? 
btw,openmpi was installed under HOME directory of user semper on each node of 
the

cluster. The 4 nodes can "ssh" or "rsh" login in each other without password 
prompt. 






Re: [OMPI users] (no subject)

2006-04-20 Thread Sang Chul Choi
I think that you need to install Open MPI into other machine as well.
You might want to setup NSF (network file system) for the master (you are
saying your local machine) so that your slave nodes could see your
mpi executable.

> bash line 1: orted : command not found

This error might go away if you install Open MPI into all machines.

Thank you,

Sang Chul


On 4/20/06, semper  wrote:
>
> > No, the location of $HOME should not matter.
> >
> > What happens if you "mpirun -np 2 uptime"?  (i.e., use mpirun to launch
> > a non-MPI application)
> >
> Thanks.
> it returns right result!  but still only 2 local processes.
>
> I tried again to add a hostfile option "--hostfile
> $HOME/openmpi/bin/hostfile" to
> mpirun, with the hostfile containning two items: IA64_node0 and IA64_node1
> ,but
> this time it complained:
> [time returned by IA64_node0]
> bash line 1: orted : command not found
>
> oops,did I do a misconfig for openmpi?
> btw,openmpi was installed under HOME directory of user semper on each node
> of the
> cluster. The 4 nodes can "ssh" or "rsh" login in each other without
> password
> prompt.
>
>
> ___
> users mailing list
> us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users
>