Genoa Active Message MAchine 17-October-2006 review

by on

Genoa Active Message MAchine is a low-latency, high-throughput driver wrapper for the Linux kernel, using Active Ports (a version of

License: GPL (GNU General Public License)
File size: 580K
Developer: Giuseppe Ciaccio
0 stars award from

Genoa Active Message MAchine is a low-latency, high-throughput driver wrapper for the Linux kernel, using Active Ports (a version of Active Messages).

Genoa Active Message MAchine runs parallel to the IP stack and is designed for LANs only.

Here are some key features of "Genoa Active Message MAchine":
A low latency, high throughput communication system for clusters of PCs
Supports both single and dual CPU processing nodes (Intel IA-32 or x86_64)
Runs on Gigabit Ethernet
SPMD parallel processing with message passing
Can run IP traffic when not in use
Good programmability thanks to fairly high abstraction level
Reliable thanks to mechanisms for retransmission of missing packets
Implemented as a network device driver for Linux 2.6, and released under GNU GPL

Network Of Workstations (NOWs) and clusters of PCs interconnected by modern, industry-standard LAN fabrics (Gigabit Ethernet, Myrinet, SCI) and running the Linux operating system, have became an attractive and cost-effective architecture for parallel and distributed applications. The usual drawback of a standard PC cluster is the poor performance of the support to inter-process communication over the interconnect. Current implementations of industry-standard communication primitives, APIs, and protocols, usually show high communication latencies and low communication throughput.

We have developed a system for inter-process communication, called the Genoa Active Message MAchine (GAMMA). GAMMA runs on Linux clusters of PCs with Intel IA-32 processors (Intel Pentium, AMD K6, and superior models), or x86_64 processors (AMD Athlon64, AMD Opteron, Intel EMT-64), networked by a Gigabit Ethernet.

The core of GAMMA is a custom Linux network device driver, which operates the Network Interface Card (NIC). The GAMMA driver delivers low latency, high throughput communication services based on Active Ports, a mechanism derived from Active Messages. Both point-to-point and broadcast communications are provided. Broadcast communication exploits the Ethernet broadcast directly.
The GAMMA driver is able to manage standard IP traffic as long as no parallel job is running. Therefore, all IP services are up and running whenever the cluster is not in use by any parallel job.

The communication mechanisms implemented in the GAMMA driver are made available to application writers through the GAMMA user library. The GAMMA library provides support to application launch, process grouping, point-to-point/broadcast communications based on the Active Ports mechanisms, and some collective routines (barrier synchronization, and broadcast).

GAMMA provides two levels of QoS. The lower one, corresponding to the fastest communications, is a best-effort service. With this service, network congestion and ``hot spots'' may cause the receiver NIC or even the LAN switch to loose packets by overrun. The other QoS level provides flow-controlled communication, ensuring reliability up to hardware faults, at a negligible performance penalty.
Installing the GAMMA driver requires only two small and marginal patches to the original Linux kernel. The Linux kernel extended by the GAMMA driver must be installed on each PC in the cluster.

A porting of MPI atop GAMMA is available, called MPI/GAMMA.

Linux (2.6 branch)

What's New in This Release:
The code was updated for Linux 2.6.18.
Minor bugfixes were made to the e1000 driver.
Minor updates were made to MPI-over-GAMMA.

Genoa Active Message MAchine 17-October-2006 search tags