3. GM Overview
GM is a message-based communication system for Myrinet. Like many
messaging systems, GM's design objectives included low CPU
overhead, portability, low latency, and high bandwidth. Additionally, GM
has several distinguishing characteristics:
-
GM has extremely low overhead of about 1 microsecond per packet on all
architectures.
-
GM can provide simultaneous memory-protected user-level OS-bypass
network interface access to several user-level applications
simultaneously. (On systems that do not support memory protection,
such as VxWorks, no memory protection is provided.)
-
GM provides reliable ordered delivery between hosts in the presence of
network faults. GM will detect and retransmit lost and corrupted
packets. GM will also reroute packets around network faults when
alternate routes exist. Catastrophic network errors, such as crashed
hosts or disconnected links, are nonfatal; the undeliverable packets are
returned to the client with an error indication, although most client
programs are unable to adapt in the presence of such severe errors.
-
GM supports clusters of over 10,000 nodes.
-
GM provides two levels of message priority to allow efficient
deadlock-free bounded-memory forwarding.
-
GM allows clients to send messages up to
2**31 - 1
bytes long, under operating systems that support sufficient amounts of
DMAable memory to be allocated.
-
GM automatically maps Myrinet networks.
GM is a light-weight communication layer, and as such has limitations
that can be addressed by layering a heavier-weight interface over GM.
Some such limitations are the following:
-
GM is unable to send messages from or receive messages into nonDMAable
memory.
-
The GM API does not yet support any gather or scatter operations directly.
From the client's point of view, GM consists of a library,
`libgm.a', and a header file, `gm.h'. All externally visible
GM identifiers in these files match the regular expression
`^_*[Gg][Mm]_' to minimize name space pollution.
Additionally, GM has other parts that system administrators need to
be concerned about:
- `gm'
- The GM driver provides systems services. It is called ``gm''
under Unix, and is the `Myricom Myrinet Adapter' driver implemented
in ``gm.sys'' under Windows NT.
- `mapper'
- The Myrinet mapper daemon maps the network. It is called
``sbin/mapper'' under Unix, and is the `Myricom Myrinet
Mapper Daemon' service implemented in
``gm_mapper_service.exe'' under Windows NT.
This document was generated
by Glenn Brown on October, 18 2001
using texi2html