GAMMA is a high-performance communication system designed for clusters of PCs. With low latency and high throughput, it facilitates smooth communication among devices.
While standard PC clusters suffer from the poor performance of the support for inter-process communication on the interconnect, GAMMA has resolved this drawback. Current implementations of industry-standard communication protocols and APIs often result in high communication latencies and low throughput.
Genoa Active Message MAchine (GAMMA) is a system specifically developed by GAMMA to resolve inter-process communication issues. It runs on Linux clusters of PCs that use Intel IA-32 processors, networked through a Gigabit Ethernet. GAMMA employs a custom Linux network device driver that operates on Network Interface Cards (NICs) to deliver low latency, high throughput communication services, based on Active Ports.
GAMMA offers both point-to-point and broadcast communications, with a system that optimizes Ethernet broadcast communication. Additionally, the GAMMA driver manages standard IP traffic as long as parallel jobs are not running, ensuring all services are up and running.
The user library provided by GAMMA's team enables the communication mechanisms implemented on the GAMMA driver to be accessible to application writers. Programmers can take advantage of support for point-to-point and broadcast communications. Additionally, the library offers collective routines such as broadcast and barrier synchronization.
GAMMA provides two levels of quality of service (QoS). The faster, best-effort service offers the possibility of network congestion or hot spots, causing lost packets. The other QoS level delivers flow-controlled communication, ensuring reliability up to hardware faults, albeit at a negligible performance penalty.
Installing the GAMMA driver only requires two small patches on the original Linux kernel. It must be installed on each PC in the cluster.
The key features of GAMMA are its support for both single and dual CPU processing nodes (Intel IA-32), running on the Gigabit Ethernet, SPMD parallel processing with message passing, and the ability to run IP traffic when not in use. Additionally, GAMMA's programmability is excellent thanks to its high abstraction level. The system is reliable, thanks to mechanisms for retransmissions of missing packets, with it implemented as a network device driver for Linux 2.6, and released under GNU GPL.
However, GAMMA has some limitations that developers should consider. For instance, it allows more process instances of the same parallel job to run on the same CPU, and collective routines (barrier synchronization and broadcast) are not thread-compatible as they use pre-determined GAMMA ports. The packet retransmission mechanism may also become ineffective if the missing packet originates from a non-blocking send.
The latest release supports NICs equipped with one of the Broadcom "Tigon3" chipsets and Intel PRO/1000 family (Intel 8254x chipsets).
Version 08-02-14: N/A