next up previous
Next: Basic Implementation Up: Low-Latency Communication on the Previous: Split-C Application Benchmarks

MPI Implementation over Active Messages

Implementations of MPI currently fall into two broad categories: those implemented ``from scratch'' and tuned to the platform, and those built using the portable public-domain MPICH package. MPICH contains a vast set of machine independent functions as well as a machine specific ``abstract device interface'' (ADI). The main design goal of MPICH was portability while performance considerations took a second rank. For this reason MPI implementations built ``from scratch'' are expected to outperform MPICH based ones.

A close look at MPICH's ADI, however, reveals that the basic communication primitives can be implemented rather efficiently using AM and that, with a few optimizations to the ADI and the higher layers of MPICH, the package should yield excellent performance. This section describes such an implementation and presents a number of micro-benchmarks which demonstrate that MPICH layered over AM (MPI-AM) indeed achieves point-to-point performance competitive with or better than IBM's ``from scratch'' MPI-F implementation.





Chris Hawblitzel
Thu Sep 19 12:22:33 EDT 1996