Go to the first, previous, next, last section, table of contents.
This document attaches special meaning to a few commonly used words.
The meaning of each of these words in the context of this document is
defined here. In particular, please note the special meanings
of the words "size" and "length." Understanding the special meaning
of these terms is critical to understanding this document.
- aligned
-
A value is said to be aligned if it is a multiple of the required
GM alignment. The required GM alignment is 1 on LANai7 hardware,
4 on LANai4 hardware, and 8 on LANai5 hardware. Pointers to memory
allocated by GM are always automatically aligned.
- client software
-
- client
-
The client software or simply client is the non-GM software
that uses GM to provide a reliable ordered message delivery service. It
can be an application, or a higher level networking layer, such as
the MPICH over GM implementation provided by Myricom.
- message
-
A message is an aligned array of bytes in DMAable memory.
- buffer
-
A buffer is a contiguous region of DMAable memory into which a
message may be copied. All GM buffers must be aligned.
- length
-
The length of a message is the number of bytes of data that
comprise the message. There is no alignment restriction on the
length of any GM message.
The length of a receive buffer is the number of bytes that may be
safely copied into the buffer.
- packet
-
A packet is an aggregation of bytes sent over the network. Packet
lengths are limited to just over
gm_mtu(port)
(usually 4096 bytes) to
bound the time any packet can monopolize network resource. Note that
multiple packets are required to send large messages over the network,
but the segmentation of messages into packets and reassembly of
packets into messages is performed automatically by GM.
- size
-
The size of the message is any integer greater than or equal to
log (length + 8)
2
where length is the length of the message.
The size of a receive buffer is any positive integer less
than or equal to
log (length + 8)
2
where length is the length of the buffer. Consequently, a buffer
of size size must have a length of at least
size
2 - 8.
A buffer having a longer length serves no useful purpose in GM, but is
allowed.
The function gm_min_size_for_length(length)
can be used to
compute the minimum size for any length, and the function
gm_max_length_for_size(size)
can be used to compute the
maximum length for any size.
- port
-
A port is a GM communication endpoint, and serves as the
interface between the client software and the network.
- user
-
A human using an application that uses GM.
- user virtual memory
-
Memory directly accessible by software running in a user application.
- kernel virtual memory
-
Memory directly accessible by the GM driver.
Go to the first, previous, next, last section, table of contents.