All Products
Search
Document Center

Elastic Compute Service:Overview of adapting eRDMA and applications

Last Updated:Mar 31, 2026

Elastic Remote Direct Memory Access (eRDMA) lets ECS instances bypass the OS kernel to access remote memory directly over the network, delivering low latency and high throughput without the overhead of the traditional TCP/IP stack. To connect eRDMA with your application, choose one of two adaptation solutions: Shared Memory Communications over RDMA (SMC-R) for kernel mode, or Network Accelerator (NetACC) for user mode.

image

Choose a solution

The right solution depends on whether your application can be recompiled and whether you want to avoid modifying source code entirely.

ApplicationSolutionCode changes requiredRecompilation required
RedisSMC-RNoYes
HPC workloads (E-HPC NEXT)SMC-RNoYes
SparkjVerbsYesYes
Kafka

Transparent RDMA support (SMC-R, NetACC): no source code changes needed; you only need to recompile applications to support eRDMA. SMC-R requires only that you run Alibaba Cloud Linux 3. NetACC requires only that you set the LD_PRELOAD environment variable.

Non-transparent RDMA support (jVerbs for Spark): requires modifying the application's communication code.

Adaptation solutions

Kernel mode: SMC-R

IBM open-sourced SMC-R for Linux 4.11 in 2017 and currently maintains it under RFC 7609. On Alibaba Cloud Linux 3, SMC-R transparently replaces TCP without any code changes or functionality loss, offloading the network protocol stack to hardware.

For setup instructions, see Enable and configure SMC.

User mode: NetACC

Network Accelerator (NetACC) is a user-mode network acceleration library. Load it by setting the LD_PRELOAD environment variable — no application code changes required. NetACC uses compatible socket interfaces to accelerate connection establishment for existing TCP applications, delivering kernel bypass, low latency, high throughput, and protocol stack offload.

For setup instructions, see NetACC User Guide.

Use cases

Next steps

For more best practices, see Use eRDMA to improve network performance.