Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: Re: [OMPI devel] Inherent limit on #communicators?
From: Edgar Gabriel (gabriel_at_[hidden])
Date: 2009-05-05 11:46:14


Christian Siebert wrote:
> Hi Edgar,
>
>> cid's are in fact not recycled in the block algorithm. The problem is
>> that comm_free is not collective, so you can not make any assumptions
>> whether other procs have also released that communicator.
> well, that's not quite correct. The MPI standard says the following
> about MPI_Comm_free (MPI 2.1, p 201, l 43): "This collective operation
> marks the communication object for deallocation.". So MPI_Comm_free is
> collective which makes the prescribed problem(s) easier so solve.

Christian,

you are right, but unfortunately it doesn't help in this scenario.
Consider the following test case, which fulfills the MPI spec:

   MPI_Comm_dup ( MPI_COMM_WORLD, &comm1 );
   if ( rank == 0 ) {
     MPI_Isend ( dest=1, comm1, &req );
     MPI_Wait ( req, stat);
     MPI_Comm_free ( comm1);
     MPI_Comm_dup ( MPI_COMM_WORLD, &comm 2);
   }
   if ( rank == 1 ) {
     MPI_Irecv ( src=0, comm1, &req );
     MPI_Comm_free ( &comm1 );
     MPI_Comm_dup ( MPI_COMM_WORLD, comm1 );
     MPI_Wait ( &req, stat);
   }

In this case, rank=0 thinks that the CID of comm1 can be reused, but
rank=1 can not reuse that CID yet, since the pending communication
operation still has to finish. If you want determine the communicator id
without communication (which is the goal of the block algorithm), you
can not do that based on your local information. Collective !=
synchronous...

Thanks
Edgar

>
> However, I admit that there exist an advice to implementors that
> anticipates a local implementation. Personally I find this advice rather
> strange and (if nobody can give a good reason for it) would encourage
> its removal...
>
> Best regards,
> Christian
>
>
> _______________________________________________
> devel mailing list
> devel_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/devel

-- 
Edgar Gabriel
Assistant Professor
Parallel Software Technologies Lab      http://pstl.cs.uh.edu
Department of Computer Science          University of Houston
Philip G. Hoffman Hall, Room 524        Houston, TX-77204, USA
Tel: +1 (713) 743-3857                  Fax: +1 (713) 743-3335