Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: Re: [OMPI users] Cluster : received unexpected process identifier
From: Rohan Deshpande (rohand87_at_[hidden])
Date: 2012-04-04 20:04:24


Yes they are on same subnet. ips for example - 192.168.1.1, 192.168.1.2,
 192.168.1.3

So what I need to modify here?

On Thu, Apr 5, 2012 at 7:59 AM, Jeffrey Squyres <jsquyres_at_[hidden]> wrote:

> Run ifconfig on your nodes. Do you have multiple IP interfaces?
>
> If so, are they on the same IP subnet? (e.g., one IP interface
> 192.168.1.x/24 and another on 192.168.1.y/24)
>
>
> On Apr 4, 2012, at 7:55 PM, Rohan Deshpande wrote:
>
> > Hi,
> >
> > I am not quite sure what does that mean. Can you please explain more.
> >
> > Thanks
> >
> > On Wed, Apr 4, 2012 at 10:47 PM, Jeffrey Squyres <jsquyres_at_[hidden]>
> wrote:
> > Do you have multiple IP interfaces on a single machine on the same IP
> subnet, perchance?
> >
> > If so, don't do that. :-) Put each of your IP addresses in a different
> IP subnet.
> >
> >
> > On Apr 3, 2012, at 10:30 PM, Rohan Deshpande wrote:
> >
> > > Hi,
> > >
> > > I am running a MPI program using cluster and tcp communication.
> > >
> > > To run I am using: mpirun --prefix /usr/local/ --mca btl tcp,self
> --hostfile slaves -np 6 scatter
> > >
> > >
> > > I am getting following output:
> > >
> > > Process 0 on host host1 has elements 0 1 2 3
> > > Process 1 on host host1 has elements 4 5 6 7
> > > Process 2 on host host1 has elements 8 9 10 11
> > > Process 3 on host host1 has elements 12 13 14 15
> > >
> [slave1][[24708,1],5][btl_tcp_endpoint.c:486:mca_btl_tcp_endpoint_recv_connect_ack]
> received unexpected process identifier [[24708,1],4]
> > >
> > > When trying to communicate with slave1 i get received unexpected
> process identifier error.
> > >
> > > My PATH and LD_LIBRARY_PATH are correctly set in .bashrc file.
> > >
> > >
> > >
> > > Source code -
> > >
> > >
> > > #include <stdlib.h>
> > > #include <stdio.h>
> > > #include "mpi.h"
> > > #define MAXPROC 8 /* Max number of procsses */
> > > #define LENGTH 24 /* length of buffer */
> > >
> > > int main(int argc, char* argv[]) {
> > > int i, j, np, me;
> > > const int nametag = 40; /* Tag value for sending name */
> > > const int datatag = 45; /* Tag value for sending data */
> > > const int root = 0; /* Root process in scatter */
> > > MPI_Status status; /* Status object for receive */
> > >
> > > char myname[MPI_MAX_PROCESSOR_NAME]; /* Local host name string
> */
> > > char hostname[MAXPROC][MPI_MAX_PROCESSOR_NAME]; /* Received host
> names */
> > > int namelen;
> > >
> > > int x[LENGTH]; /* Send buffer */
> > > int y[LENGTH]; /* Receive buffer */
> > >
> > > MPI_Init(&argc, &argv); /* Initialize MPI */
> > > MPI_Comm_size(MPI_COMM_WORLD, &np); /* Get nr of processes */
> > > MPI_Comm_rank(MPI_COMM_WORLD, &me); /* Get own identifier */
> > >
> > > MPI_Get_processor_name(myname, &namelen); /* Get host name */
> > > myname[namelen++] = (char)0; /* Terminating null byte
> */
> > >
> > > /* Check that we have an even number of processes and at most
> MAXPROC */
> > > if (np>MAXPROC || np%2 != 0) {
> > > if (me == 0) {
> > > printf("You have to use an even number of processes (at most
> %d)\n", MAXPROC);
> > > }
> > > MPI_Finalize();
> > > exit(0);
> > > }
> > >
> > > if (me == 0) { /* Process 0 does this */
> > >
> > > /* Initialize the array x with values 0 .. LENGTH-1 */
> > > for (i=0; i<LENGTH; i++) {
> > > x[i] = i;
> > > }
> > >
> > > printf("Process %d on host %s is distributing array x to all %d
> processes\n\n",
> > > me, myname, np);
> > >
> > > /* Scatter the array x to all proceses, place it in y */
> > > MPI_Scatter(x, LENGTH/np, MPI_INT, y, LENGTH/np, MPI_INT, root,
> > > MPI_COMM_WORLD);
> > >
> > > /* Print out own portion of the scattered array */
> > > printf("Process %d on host %s has elements", me, myname);
> > > for (i=0; i<LENGTH/np; i++) {
> > > printf(" %d", y[i]);
> > > }
> > > printf("\n");
> > >
> > > /* Receive messages with hostname and the scattered data */
> > > /* from all other processes */
> > > for (i=1; i<np; i++) {
> > > MPI_Recv (hostname[i], namelen, MPI_CHAR, i, nametag,
> MPI_COMM_WORLD,
> > > &status);
> > > MPI_Recv (y, LENGTH/np, MPI_INT, i, datatag, MPI_COMM_WORLD,
> &status);
> > > printf("Process %d on host %s has elements", i, hostname[i]);
> > > for (j=0; j<LENGTH/np; j++) {
> > > printf(" %d", y[j]);
> > > }
> > > printf("\n");
> > > }
> > >
> > > printf("Ready\n");
> > >
> > >
> > > } else { /* all other processes do this */
> > >
> > > /* Receive the scattered array from process 0, place it in array y
> */
> > > MPI_Scatter(x, LENGTH/np, MPI_INT, y, LENGTH/np, MPI_INT, root, \
> > > MPI_COMM_WORLD);
> > > /* Send own name back to process 0 */
> > > MPI_Send (myname, namelen, MPI_CHAR, 0, nametag, MPI_COMM_WORLD);
> > > /* Send the received array back to process 0 */
> > > MPI_Send (y, LENGTH/np, MPI_INT, 0, datatag, MPI_COMM_WORLD);
> > >
> > > }
> > >
> > > MPI_Finalize();
> > > exit(0);
> > > }
> > >
> > > Any idea what could be wrong?
> > >
> > >
> > > Thanks
> > >
> > >
> > >
> > >
> > >
> > > _______________________________________________
> > > users mailing list
> > > users_at_[hidden]
> > > http://www.open-mpi.org/mailman/listinfo.cgi/users
> >
> >
> > --
> > Jeff Squyres
> > jsquyres_at_[hidden]
> > For corporate legal information go to:
> http://www.cisco.com/web/about/doing_business/legal/cri/
> >
> >
> > _______________________________________________
> > users mailing list
> > users_at_[hidden]
> > http://www.open-mpi.org/mailman/listinfo.cgi/users
> >
> >
> >
> > --
> >
> > Best Regards,
> >
> > ROHAN DESHPANDE
> >
> >
> >
> > _______________________________________________
> > users mailing list
> > users_at_[hidden]
> > http://www.open-mpi.org/mailman/listinfo.cgi/users
>
>
> --
> Jeff Squyres
> jsquyres_at_[hidden]
> For corporate legal information go to:
> http://www.cisco.com/web/about/doing_business/legal/cri/
>
>
> _______________________________________________
> users mailing list
> users_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/users
>

-- 
Best Regards,
ROHAN DESHPANDE