RDMA-Optimized Distributed Cache Bypassing TCP/IP Stack

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional caching systems face significant latency and throughput issues when scaling out Internet applications due to reliance on TCP/IP protocol stacks and serialization operations, leading to slow remote access and prohibitive costs in terms of performance.

Innovation Solution

Implementing an RDMA-optimized distributed key-value pair cache that uses one-sided RDMA operations to allow clients direct access to server memory, reducing server CPU utilization and avoiding the TCP/IP stack, with a hash map published by the server to clients for fast key-based lookups.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If conventional TCP/IP protocol stacks and serialization operations are used for remote cache access, then network compatibility and standard communication protocols are maintained, but access latency increases and throughput decreases

Engineering Contradiction:
Improveremote access speedVSAvoidprotocol stack complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent extracts and removes the TCP/IP protocol stack and serialization operations from the remote cache access path. By using RDMA (Remote Direct Memory Access), the system bypasses the conventional network protocol stack entirely, allowing direct memory-to-memory transfers between client and server without protocol processing overhead, thereby achieving near-local access speeds over the network.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces an RDMA intermediary mechanism that enables direct communication between client and server memory spaces. The RDMA protocol acts as a specialized intermediary that eliminates the need for standard TCP/IP serialization and protocol processing, allowing efficient remote access while maintaining network compatibility through dedicated hardware support.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If distributed caches are accessed remotely over the network, then scaling out Internet applications is enabled, but access latency increases compared to local caching

Engineering Contradiction:
Improvescaling capabilityVSAvoidaccess latency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent replaces the mechanical system of network protocol processing and data serialization with a direct memory access mechanism. RDMA enables bypassing the conventional network stack mechanics, allowing clients to access distributed cache data with latency接近 to local memory access while maintaining the scalability benefits of distributed architecture.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Productivity

If server CPU is used for serialization and deserialization operations in conventional cache systems, then data processing is performed, but server CPU utilization increases and throughput decreases

Engineering Contradiction:
Improvecache throughputVSAvoidserver CPU utilization
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent implements self-service by enabling clients to perform direct memory access operations on server cache data without requiring server CPU involvement for serialization or data processing. The RDMA mechanism allows clients to read and write cache data directly in their own memory spaces, eliminating the need for server CPU to participate in each cache operation and thereby maximizing throughput while minimizing server resource consumption.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9742863B2RDMA-optimized high-performance distributed cache
Publication Date: 2017.08.22 BEIJING ZITIAO NETWORK TECH CO LTD
  • US9742863B2 patent drawing
  • US9742863B2 patent drawing
  • US9742863B2 patent drawing

AI summary

For remote direct memory access (RDMA) by a client to a data record stored in a cache on a server, a hash map is received by a client from a server. The hash map includes one or more entries associated with a key for the data record stored in the cache on the server that stores a server-side remote pointer referencing the data record stored in the cache on the server. The client, using the key, looks up the server-side remote pointer for the data record from the hash map, and then performs one or more RDMA operations using the server-side remote pointer that allow the client to directly access the data record stored in the cache on the server.