Josip Loncaric josip at
Tue Sep 23 12:49:56 EDT 2003

Mathias Brito wrote:

> What implmentation of MPI should i use? There's the
> mpich and the lam implamentations, what's the best
> choice, and have more improviments of resources and
> performance?

Why not install both and give yourself a choice?

MPICH is very popular and works fine, but LAM is a bit cleaner 
implementation which delivers a bit lower latency.  Other than that, the 
main difference is process startup.  With MPICH, "mpirun" does the job 
directly and accepts the usual rsh or ssh authorization overhead.  With 
LAM, you "lamboot" LAM daemons on your nodes (w/usual overhead) but then 
those daemons can start your MPI processes quicker.  After your MPI jobs 
(possibly many in sequence) are done, you use "wipe" to clean up LAM 

On the Coral cluster at ICASE (now absorbed by NIA), LAM was the default 
due to slightly lower latency.  LAM is very nicely done, but having only 
one flavor of MPI can be limiting, so people could use MPICH, MPI/Pro 
(in VIA/TCP/interrupt/polling modes), or MVICH as they saw fit.  For 
example, some codes assume MPICH-specific implementation details, which 
is non-standard but easy to accomodate.

My suggestion is to install both LAM and MPICH, then benchmark your 
applications with both and use the better choice as the default.


P.S.  There are other MPIs out there: various vendor MPIs, enhanced 
flavors of MPICH, etc.  Some of these cost $/CPU/year; others are free. 
  A commercial MPI (e.g. MPI/Pro) buys you enhanced robustness and some 
interesting features, e.g. interrupt-driven receive which can improve 
performance of certain applications.

Beowulf mailing list, Beowulf at
To change your subscription (digest mode or unsubscribe) visit

More information about the Beowulf mailing list