[MPICH] Porting the MPICH "back-end"

Daniel Marques marques77 at gmail.com
Fri Jan 12 12:45:06 CST 2007


Rajeev & Bill,

Thanks for the replies.

Before I get started with anything, I would like to gain some insight
into the complexity of implementing my own MPICH backend.  From the
documentation I saw on the web, it seems that the 'lower' parts of
MPICH could be built to conform to one of two APIs, the ADI   or the
channel interface.  One of the documents makes it seem that writing an
implementation of the channel interface would be the easier of the
two.  For MPICH 1, at least, it states that there are only five
functions that one would need to implement.
(http://www-unix.mcs.anl.gov/mpi/mpich1/papers/mpicharticle/node23.html#Node23)

What I'd like to do (as a feasibility experiment, not the final goal)
would be to build a very simple and low performance implementation
that used a basic mechanism, e.g. the shared file system, for
communication.  From my understanding of the above document, such an
implementation should be relatively easy to develop.  Does that sound
reasonable, or am I missing something crucial?

Has the channel interface changed much since that document was
written?  If not, is there anywhere a description of that API and
notes on how to integrate a new implementation with the MPICH code
base?

Thanks for all your help.

Dan


On 1/12/07, William Gropp <gropp at mcs.anl.gov> wrote:
> Hi,
> In addition to some of the documentation that is available (and the
> information on the web site), we'd be happy to talk to you about the
> current state, answer questions that you may have about the design,
> and even entertain changes that might make your project easier.
>
> Bill
>
> On Jan 8, 2007, at 8:33 PM, Daniel Marques wrote:
>
> > Hello.
> >
> > I'm new to MPICH, so please excuse if any of these questions have
> > obvious answers or if my terminology is completely wrong.  I thank you
> > for your help in advance.
> >
> > If I understand it correctly, MPICH is composed of a bunch of software
> > layers - the idea being that MPICH can be ported to a new platform by
> > providing a platform-specific implementation of one these lower layers
> > and placing the rest of the MPICH stack above it.  Some of (the
> > perhaps really outdated) information I read on the web makes it seem
> > that the lowest such levels are or can be, rather simple.
> >
> > I'm interested in developing my own 'back-end' for MPICH (as a
> > research implementation for testing various coordination protocols,
> > etc.) and was wondering if there existed any resources describing the
> > architecture of MPICH and exactly how one would go around implementing
> > their own back end.  Any links, references to the code, pointers to
> > previous discussions, etc, will be most appreciated.
> >
> > Thanks a lot!
> >
> > Dan
> >
>
>




More information about the mpich-discuss mailing list