Newsgroups: comp.parallel.mpi
From: Jinsheng Xu <xujinshe@cps.msu.edu>
Subject: Re: MPI_Alltoall() on Cray T3D
Organization: Michigan State University, College of Engineering
Date: Wed, 13 Nov 1996 13:21:49 -0500
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-ID: <328A11BD.78AD@cps.msu.edu>

N Sundar wrote:
> 
> In article <32861957.7882@cps.msu.edu>,
> Jinsheng Xu  <xujinshe@cps.msu.edu> wrote:
> >N Sundar wrote:
> >>
> >> MPI provides a call called MPI_Alltoall() that performs complete
> >> (all-to-all personalized) exchange. We are using it on the Cray T3D,
> >> which has an MPI implementation from EPCC, Edinburg (sp?), U.K.
> >> Does anybody out there know what algorithm is used by this
> >> implementation to perform all-to-all? Alternatively, are there any
> >> pointers to this?
> >>
> >> Thanks in advance.
> >> Sundar.
> >> --
> >> ------------+----------------Disclaimer: These are my opinions only.
> >> N. S. Sundar!    I am ardently against all awkward, affected,
> >> GTA,CIS,OSU.!    arbitrary and aimless alliteration.
> >> INTJ        !    WWW: http://www.cis.ohio-state.edu/~sundar/
> >
> >Good question. I also want to know whether this call is more
> >efficient than several send and receive calls which have
> >the same functionality as MPI_Alltoall().
> 
> We did a SHMEM implementation of the Direct Exchange algorithm [1]
> on the Cray T3D. That performed better than the available
> implementation of MPI_Alltoall(). Unfortunately, this data won't
> be published by us anytime soon.
> 
> >MPI_Alltoall() call has many restrictions.
> >For example, send and receive buffer have to be continuous and
> >the receive message size has to be specified. It's very bad
> >if the receiver doesn't know the message size of the sender.
> 
> True. The only application I know of where the receiver does not
> have this knowledge is parallel sample sort. I'd like to hear from
> people if any other application shares this characteristic. In
> general, if an application requires all-to-all scatter with variable
> block sizes, the receiver would not know what is the size of the
> incoming message, unless the message sizes were previously distributed
> with another all-to-all exchange.

In parallel simulation the receiver doesn't know the size of
message sent from the sender. What even worse is that the sender
sends different sizes of messages to the same receiver. 
Alltoall doesn't support non-blocking send too. So currently
Alltoall will not do us much help. 


> 
> References
> ==========
> [1] D. S. Scott.  "Efficient All-to-All Communication Patterns in
>     Hypercube and Mesh Topologies." Proc. 6th Conf. Distributed
>     Memory Concurrent Computers. 1991. pp.398-403.
> 
> Sundar.
> --
> ------------+----------------Disclaimer: These are my opinions only.
> N. S. Sundar!    I am ardently against all awkward, affected,
> GTA,CIS,OSU.!    arbitrary and aimless alliteration.
> INTJ        !    WWW: http://www.cis.ohio-state.edu/~sundar/

