UNH Extended Sockets Library (UNH-EXS)

The Extended Sockets API (ES-API) is a specification published by the Open Group that defines extensions to the traditional socket API in order to provide asynchronous I/O and also memory registration for Remote Direct Memory Access (RDMA). These two major new features enable programmers to take advantage of today’s multi-core processors and RDMA network hardware, such as InfiniBand, iWARP and RoCE interfaces, in a convenient yet efficient manner.

The UNH EXS interface provides most of the features specified in the ES-API, and provides a few additional features that give the programmer more flexibility. For example, the programmer can choose to program with synchronous rather than asynchronous I/O, and/or to program with or without memory registration. The programmer can also conveniently “tune” certain aspects of the EXS interface to take advantage of application requirements in order to provide better performance.

UNH EXS is open source and is available under a choice of the GNU General Public License (GPL) Version 2 or the BSD License.

You can download the source code for UNH EXS here:

As of version 1.3.0, UNH EXS releases are GPG signed using this public key with fingerprint
8DF0 20E7 EEFA 4DC4 8267 9FFA 891D 1318 F90A E608.

You may use the provided SHA-256 checksum or detached GPG signature to check the integrity of the downloaded archive.

Our public git repository can be accessed here.

For more information on programming with UNH EXS, see the Overview of UNH EXS for Programmers (PDF).

In conjunction with the UNH-IOL, the following papers have been published on EXS:

For more information you can email Prof. Robert Russell, our RDMA research lead, or Patrick MacArthur, the primary developer of UNH EXS.