Shared Memory Communications over Remote Direct Memory Access

Shared Memory Communications over Remote Direct Memory Access (RDMA), or Shared Memory Communications over RDMA (SMC-R), is a protocol solution that is based on sockets over RDMA. SMC-R enables TCP sockets applications to transparently use RDMA, which enables direct, high-speed, low-latency, memory-to-memory (peer-to-peer) communications. Communicating peers such as TCP/IP stacks dynamically learn about the shared memory capability by using traditional TCP/IP connection establishment flows, enabling the TCP/IP stacks to switch from TCP network flows to more optimized direct memory access flows that use RDMA.

RDMA is available on standard Ethernet-based networks by using the industry (InfiniBand Trade Association) standard referred to as RDMA over Converged Ethernet (RoCE). RoCE enables the use of both standard TCP/IP and RDMA solutions such as SMC-R over the same physical LAN fabric. SMC-R requires the IBM® 10GbE RoCE Express® feature, which is sometimes referred to as an RDMA network interface card (RNIC). SMC-R provides an enterprise class of services for RDMA that are designed for IBM enterprise class data center networks.

As shown in Figure 1, SMC-R enables two virtual servers that support RoCE to logically share memory through the IBM 10GbE RoCE Express feature (shown as RNIC in Figure 1) and over the RoCE network. When a virtual server that supports RoCE detects that a remote TCP connection partner supports shared memory communications, the connection is transparently and dynamically switched to use SMC-R protocols. The applications are unaware of the use of shared memory for communications.

Figure 1. Shared Memory Communications over RDMA (SMC-R)
The preceding paragraphs describe the figure.

SMC-R improves throughput, lowers latency and cost, and maintains existing functions. You do not have to change resources such as host names and IP addresses because you can use existing IP topology and addressing to identify virtual servers. You do not have to modify applications to use SMC-R to gain the performance benefits of RoCE. Existing functions are preserved when SMC-R is used, such as the following functions:

When redundant IBM 10GbE RoCE Express interfaces are provisioned, SMC-R also transparently provides the capability for failover processing when a failure is detected with SMC-R communications.