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:
|Release||SHA-256 checksum||GPG signature||Date|
|UNH EXS 1.4.0||SHA-256 checksum||GPG signature||2016-12-20|
|UNH EXS 1.3.6||SHA-256 checksum||GPG signature||2015-04-15|
|UNH EXS 1.3.5||SHA-256 checksum||GPG signature||2014-08-01|
|UNH EXS 1.3.4||SHA-256 checksum||GPG signature||2014-06-18|
|UNH EXS 1.3.3||SHA-256 checksum||GPG signature||2014-03-07|
|UNH EXS 22.214.171.124||SHA-256 checksum||GPG signature||2013-11-04|
|UNH EXS 126.96.36.199||SHA-256 checksum||GPG signature||2013-10-31|
|UNH EXS 1.3.1||SHA-256 checksum||GPG signature||2013-07-09|
|UNH EXS 1.3.0||SHA-256 checksum||GPG signature||2013-04-15|
|UNH EXS 1.2.0||2012-12-20|
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:
- R. Russell, “ The Extended Sockets Interface for Accessing RDMA Hardware (PDF),” in Proceedings of the 20th IASTED International Conference on Parallel and Distributed Computing and Systems (PDCS 2008), T. Gonzalez, Ed., Nov. 2008, pp. 279–284.
- R. Russell, “ A General-Purpose API for iWARP and InfiniBand (PDF),” in the First Workshop on Data Center Converged and Virtual Ethernet Switching (DC-CAVES), Sep. 2009.
- P. MacArthur and R. Russell, “ An Efficient Method for Stream Semantics over RDMA,” in Proceedings of the IEEE 28th International Parallel and Distributed Processing Symposium, May 2014, pp. 841–851.