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 "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 "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.

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