Remote Direct Memory Access (RDMA) allows data to be transferred over a network directly from the memory of one computer to the memory of another computer without CPU intervention. There are two major types of RDMA hardware on the market today: InfiniBand, and RDMA over IP, also known as iWARP. This hardware is supported by open software that was developed by the OpenFabrics Alliance (OFA) and that is known as the OpenFabrics Enterprise Distribution (OFED) stack. This stack provides a common interface to both types of RDMA hardware, but does not itself provide a generalpurpose API that would be convenient to most network programmers. Rather, it supplies the tools by which such APIs can be constructed. The Extended Sockets API (ES-API) is a specification published by the Open Group that defines extensions to the traditional socket API which include two major new features necessary to exploit the advantages of RDMA hardware and the OFED stack: asynchronous I/O and memory registration. The UNH-EXS interface is a multi-threaded implementation of the ES-API plus additional extensions, which enables programmers to utilize RDMA hardware via the OFED stack in a convenient, relatively familiar manner. The UNH-EXS interface is implemented entirely in user space on the Linux operating system. This provides easy porting, modification and adoption of UNHEXS, since it requires no changes to existing Linux kernels. We present results on the performance of some benchmark applications using the UNH-EXS interface on both iWARP and InfiniBand hardware.
[1]
Jeffrey C. Mogul,et al.
Remote Direct Memory Access (RDMA) over IP Problem Statement
,
2005,
RFC.
[2]
Robert Russell.
THE EXTENDED SOCKETS INTERFACE FOR ACCESSING RDMA HARDWARE
,
2008
.
[3]
Message Passing Interface Forum.
MPI: A message - passing interface standard
,
1994
.
[4]
Renato Recio,et al.
Marker PDU Aligned Framing for TCP Specification
,
2007,
RFC.
[5]
Renato Recio,et al.
A Remote Direct Memory Access Protocol Specification
,
2007,
RFC.
[6]
Hemal Shah,et al.
Direct Data Placement over Reliable Transports
,
2007,
RFC.
[7]
Hemal Shah,et al.
Internet Small Computer System Interface (iSCSI) Extensions for Remote Direct Memory Access (RDMA)
,
2007,
RFC.
[8]
E. Burns,et al.
Implementation and Evaluation of iSCSI over RDMA
,
2008,
2008 Fifth IEEE International Workshop on Storage Network Architecture and Parallel I/Os.
[9]
Robert D. Russell,et al.
Evaluating the Effect of iSCSI Protocol Parameters on Performance
,
2005,
Parallel and Distributed Computing and Networks.