Newsgroups: comp.parallel.mpi
From: lusk@donner.mcs.anl.gov (Rusty Lusk)
Subject: Re: MPICH and P4 blocking message passing mechanism
Organization: Argonne National Laboratory
Date: 15 Feb 1996 15:43:53 GMT
Message-ID: <4fvkbq$226@milo.mcs.anl.gov>

In article <CATTONI.96Feb14120756@corallo.itc.it>, cattoni@irst.itc.it (Roldano Cattoni) writes:
|> I read on an article appeared in "Parallel Computing" that one notable
|> restriction of the P4 system is that its message passing mechanism is
|> entirely blocking.
|> 
|> MPICH uses P4 for the workstation architectures: taking in account that MPI
|> includes non-blocking calls, I am curious how this (apparent?) conflict is
|> solved by MPICH.

MPICH defines an abstract device on which to implement the MPI calls,
using different protocols according to such parameters as the message
length and how MPICH was installed.  The abstract device, in turn, is
implemented on a wide variety of mechanisms, including shared-memory,
vendor message-passing systems, p4, and other systems.  Currently,
when TCP is the underlying transport mechanism, p4 is used to
implement the abstract device.  That is, the control and data packets
defined by the abstract device to implement the chosen protocol for
the particular MPI call are sent and received using p4.  The abstract
device uses non-blocking communication when it is appropriate and
available, but does not require it.  

Regards,
Rusty

