An Efficient Method for Stream Semantics over RDMA

Most network applications today are written to use TCP/IP via sockets. Remote Direct Memory Access (RDMA) is gaining popularity because its zero-copy, kernel-bypass features provide a high throughput, low latency reliable transport. Unlike TCP, which is a stream-oriented protocol, RDMA is a message-oriented protocol, and the OFA verbs library for writing RDMA application programs is more complex than the TCP sockets interface. UNH EXS is one of several libraries designed to give applications more convenient, high-level access to RDMA features. Recent work has shown that RDMA is viable both in the data center and over distance. One potential bottleneck in libraries that use RDMA is the requirement to wait for message advertisements in order to send large zero-copy messages. By sending messages first to an internal, hidden buffer and copying the message later, latency can be reduced at the expense of higher CPU usage at the receiver. This paper presents a communication algorithm that has been implemented in the UNH EXS stream-oriented mode to allow dynamic switching between sending transfers directly to user memory and sending transfers indirectly via an internal, hidden buffer depending on the state of the sender and receiver. Based on preliminary results, we see that this algorithm performs well under a variety of application requirements.

[1]  Dror Goldenberg,et al.  Zero copy sockets direct protocol over infiniband-preliminary implementation and performance analysis , 2005, 13th Symposium on High Performance Interconnects (HOTI'05).

[2]  Timothy Joseph Carlin Implementation of an RDMA verbs driver for GridFTP , 2012 .

[3]  Robert D. Russell A GENERAL-PURPOSE API FOR IWARP AND INFINIBAND , 2009 .

[4]  Robert Russell THE EXTENDED SOCKETS INTERFACE FOR ACCESSING RDMA HARDWARE , 2008 .

[5]  Jasmin Ajanovic PCI express 3.0 overview , 2009, 2009 IEEE Hot Chips 21 Symposium (HCS).

[6]  Hyun-Wook Jin,et al.  Asynchronous zero-copy communication for synchronous sockets in the sockets direct protocol (SDP) over InfiniBand , 2006, Proceedings 20th IEEE International Parallel & Distributed Processing Symposium.

[7]  Xubin He,et al.  uStream: A User-Level Stream Protocol over Infiniband , 2009, 2009 15th International Conference on Parallel and Distributed Systems.

[8]  Robert D. Russell,et al.  A Performance Study to Guide RDMA Programming Decisions , 2012, 2012 IEEE 14th International Conference on High Performance Computing and Communication & 2012 IEEE 9th International Conference on Embedded Software and Systems.

[9]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.

[10]  LamportLeslie Time, clocks, and the ordering of events in a distributed system , 1978 .