Choosing the correct device and release


Up: Introduction Next: Citations and References Previous: Features of recent releases

Mpich is designed to be ported and optimized for a variety of systems though implementations of an abstract device interface (ADI). Many different implementations of the ADI exist; each is called a device.

Workstation Networks, Beowulf Clusters, and Individual Workstations.
The most important devices are ch_p4 and ch_p4mpd. The ch_p4 device is the most general and supports SMP nodes, MPMD programs, and heterogeneous collections of systems. The ch_p4mpd device (so far) supports only homogenous clusters of uniprocessors, but provides for far faster and more scalable startup.

Grids.
The globus2 uses Globus (www.globus.org) to provide a grid-enabled implementation of MPI. This device is appropriate for collections of systems on which Globus is installed.

Symmetric Multiprocessors.
The ch_shmem device is appropriate for a single shared-memory system, such as a SGI Origin or Sun E10000. This device uses shared memory to pass messages between processes, and makes use of facilities provided by the operating system such as System V shared memory or anonymous mmap regions for data and System V semaphores or OS-specific mutex routines for synchronization. The ch_lfshmem device is a version of ch_shmem that uses a lock-free approach and that we developed for the NEC SX-4 [7]. The ch_shmem is appropriate for most systems; the ch_lfshmem requires special assembly language coding but can be ported to most systems. Currently, however, the ch_lfshmem supports only the NEC SX-4.

Massively Parallel Processors (MPPs).
Mpich was originally developed to provide an implementation of MPI for many of the massively parallel processors, each of which had its own, propritary, message-passing system. We still include the devices ch_meiko, ch_nx and ch_mpl with mpich releases, though most of these systems have now disappeared.

Others.
Mpich was designed to enable other groups to use it when developing their own MPI implementations. Both vendors and research groups have used mpich as the basis for their implementation. One important one in the cluster environment is MPICH-GM, for Myrinet switch-connected clusters; it is available directly from Myricom.

To make it easier to build and use mpich, customized versions of this manual are constructured for each major device.



Up: Introduction Next: Citations and References Previous: Features of recent releases