The Extended Sockets API (ES-API) is a specification published by the OpenGroup that defines extensions to the
traditional socket API which include two major new features: asynchronous I/O, and memory registration. These
features enable programmers to take advantage of today's
multi-core processors and Remote Direct Memory Access
(RDMA) network hardware, such as iWARP and InfiniBand interfaces, in a convenient yet efficient manner.
This paper describes the UNH EXS interface, an implementation of the ES-API that provides additional API
facilities which enable a programmer to utilize RDMA network hardware while selectively choosing those features of
this interface that are most germane to the particular application. In addition, the UNH EXS interface is implemented
entirely in user space on the Linux operating system. This
provides easy porting, modification and adoption of UNH EXS, since it requires no changes to existing Linux kernels.
Preliminary results demonstrate that applications based on
EXS can achieve high bandwidth utilization and low CPU