Active Message Applications Programming Interface and Communication Subsystem Organization

Alan M. Mainwaring and David E. Culler

EECS Department
University of California, Berkeley
Technical Report No. UCB/CSD-96-918
October 1996

High-performance network hardware is advancing, with multi-gigabit link bandwidths and sub-microsecond switch latencies. Network-interface hardware also continues to evolve, although the design space remains large and diverse. One critical abstraction, a simple, portable, and general-purpose communications interface, is required to make effective use of these increasingly high-performance networks and their capable interfaces. Without a new interface, the software overheads of existing ones will dominate communication costs, and many applications may not benefit from the advancements in network hardware.

This document specifies a new active message communications interface for these networks. Its primitives, in essence an instruction set for communications, map efficiently onto underlying network hardware and compose effectively into higher-level protocols and applications. For high-performance implementations, the interface enables direct application-network interface interactions. In the common case, for applications exhibiting locality in communication, these interactions bypass the operating system. To enable the construction of large-scale, general-purpose systems, the interface supports the protected multiprogramming of many users onto finite network resources. This document also describes a prototype system that uses the virtual-memory facilities of the Solaris operating system to implement virtual networks that support protected, network multiprogramming. The system caches the active communication endpoints in network-interface memory and demand-pages them between the host and network-interface memories.


BibTeX citation:

@techreport{Mainwaring:CSD-96-918,
    Author = {Mainwaring, Alan M. and Culler, David E.},
    Title = {Active Message Applications Programming Interface and Communication Subsystem Organization},
    Institution = {EECS Department, University of California, Berkeley},
    Year = {1996},
    Month = {Oct},
    URL = {http://www2.eecs.berkeley.edu/Pubs/TechRpts/1996/5768.html},
    Number = {UCB/CSD-96-918},
    Abstract = {High-performance network hardware is advancing, with multi-gigabit link bandwidths and sub-microsecond switch latencies. Network-interface hardware also continues to evolve, although the design space remains large and diverse. One critical abstraction, a simple, portable, and general-purpose communications interface, is required to make effective use of these increasingly high-performance networks and their capable interfaces. Without a new interface, the software overheads of existing ones will dominate communication costs, and many applications may not benefit from the advancements in network hardware. <p> This document specifies a new active message communications interface for these networks. Its primitives, in essence an instruction set for communications, map efficiently onto underlying network hardware and compose effectively into higher-level protocols and applications. For high-performance implementations, the interface enables direct application-network interface interactions. In the common case, for applications exhibiting locality in communication, these interactions bypass the operating system. To enable the construction of large-scale, general-purpose systems, the interface supports the protected multiprogramming of many users onto finite network resources. This document also describes a prototype system that uses the virtual-memory facilities of the Solaris operating system to implement virtual networks that support protected, network multiprogramming. The system caches the active communication endpoints in network-interface memory and demand-pages them between the host and network-interface memories.}
}

EndNote citation:

%0 Report
%A Mainwaring, Alan M.
%A Culler, David E.
%T Active Message Applications Programming Interface and Communication Subsystem Organization
%I EECS Department, University of California, Berkeley
%D 1996
%@ UCB/CSD-96-918
%U http://www2.eecs.berkeley.edu/Pubs/TechRpts/1996/5768.html
%F Mainwaring:CSD-96-918