GM -- the low-level message-passing system for Myrinet networks
The GM system includes a driver, Myrinet-interface control program, a network mapping program, and the GM API, library, and header files. GM features include:
- Concurrent, protected, user-level access to the Myrinet interface.
- Reliable, ordered delivery of messages.
- Automatic mapping and route computation.
- Automatic recovery from transient network problems.
- Scalability to thousands of nodes.
- Low latency, high data rate, and very low host-CPU utilization.
- Extensible software to allow simultaneous direct support of the GM API, IP (TCP, UDP), MPI, and other APIs.
Support for IP (TCP, UDP) over GM is included in most GM distributions. GM achieves its exceptional performance with a technique known as "Operating-System bypass" (OS-bypass). After initial operating-system calls to allocate and register memory for communication, application programs can send and receive messages without system calls. Instead, the GM API functions communicate through common memory with the Myrinet Control Program that is executing continuously on the processor in the Myrinet interface.
GM Software
Source code is available for all distributions. However,
- GM software for Windows, Solaris, AIX, Mac OS X, Tru64, and FreeBSD is also available pre-compiled in binary form.
- GM software for Linux and VxWorks is distributed only in source form.
There are three different "series" of GM releases. These "series" employ different protocols in the network, so for interoperability you should use a GM from the same series on all hosts in a Myrinet cluster.
- GM 1 (GM 1.6.x, 1.5.x, 1.4) is your best choice for clusters with all PCI64-series or earlier interfaces.
- GM 2.0.x is your best choice for clusters with PCIXD "D card" interfaces, and can also be used with PCI64-series interfaces.
- GM 2.1.x, an extension of GM 2.0.x, is required to use both ports of PCIXE "E card" interfaces, but can also be used with PCIXD "D card" and PCI64-series interfaces.
MPICH-GM
MPICH-GM middleware package is very efficient, both in using GM's OS-bypass
communication, and in avoiding copying wherever possible.
MPICH is a portable implementation
of MPI, the Message Passing Interface standard. MPICH was developed by Argonne National
Laboratory, is designed to be highly portable, and is currently used by a large number
of providers of MPI implementations. MPICH is often run over TCP/IP over Ethernet. In
order to exploit the lower latency and higher data rates of Myrinet networks, Myricom
developed MPICH-GM as a port of MPICH on top of GM (ch_gm).
MPICH-GM Software
MPICH-GM is distributed in source and binary form. Installation instructions and
operating-system-specific caveats can be found in the
README-mpich-gm in the
distribution tar file.
The current version is: MPICH-GM 1.2.5..12.
- MPICH-GM 1.2.5..12 is based on MPICH-1.2.5.2.
- This release of MPICH-GM is designed for use with GM-2 and GM-1.
- The mpicc default is now to use a shared library, use -noshlib or MPICH_USE_SHLIB=no to revert to static linking.
- If you are using GM-2, you must use MPICH-GM 1.2.5..10 or later.
- If you are using the Intel 7.x compilers on Itanium and/or you need to link with a threaded library, you must use MPICH-GM 1.2.5..10 or later!
MPICH-GM has been tested on Linux (Gnu compilers, PGI5 compilers, and Intel 8.0
compilers), Solaris, FreeBSD, and Mac OS X, on ia32/ia64/amd64/powerpc/macosx. No
testing has been performed on AIX or Tru64. This release of MPICH-GM is not yet
supported for Windows.
Complete installation instructions and platform-specific information is found on
web page www.myri.com/scs.
|