RDMA Key-Value Server Bypassing CPU for Memory Bandwidth

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Memcached systems face inefficiencies due to high CPU involvement in handling large numbers of SET, GET, or Update operation commands, leading to poor memory bandwidth usage, scalability issues, and increased energy consumption, which raises operating costs and complicates cache synchronization.

Innovation Solution

Implementing a customized Ethernet remote direct memory access (RDMA) protocol with local caching at clients to reduce CPU involvement at KV servers, using an indicator flag in item slots to manage KV item storage and retrieval, and employing RDMA read requests with timers to handle updates and access operations efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If high CPU involvement is used to handle large numbers of SET, GET, or Update operation commands, then command processing capability is improved, but memory bandwidth usage becomes poor and energy consumption increases

Engineering Contradiction:
Improvecommand processing capabilityVSAvoidenergy consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent replaces CPU-based mechanical processing with RDMA (Remote Direct Memory Access) technology, allowing direct memory access between client and server without CPU intervention. This substitution eliminates the need for high CPU involvement in handling SET, GET, and Update operations, thereby reducing energy consumption while maintaining command processing capability through hardware-level memory operations

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

Solution Approach 2:

The patent extracts the CPU processing function from the command handling process by implementing RDMA. The CPU is no longer required to participate in the actual data retrieval and storage operations, which are handled directly by the memory subsystem. This extraction of CPU involvement resolves the contradiction by maintaining productivity through RDMA while eliminating the energy consumption penalty associated with high CPU utilization

Inventive Principle:
Principle #2Taking out (Extraction)

2Productivity

If high CPU involvement is used to handle large numbers of SET, GET, or Update operation commands, then command processing capability is improved, but memory bandwidth usage becomes poor

Engineering Contradiction:
Improvecommand processing capabilityVSAvoidmemory bandwidth usage
Core Design Contradiction:
ProductivityVSSpeed

Solution Approach 1:

The patent replaces CPU-based processing with RDMA technology, enabling direct memory access that bypasses CPU intervention. This substitution allows memory operations to proceed at hardware speeds without being bottlenecked by CPU processing cycles, thereby improving memory bandwidth utilization while maintaining high command processing capability

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

Solution Approach 2:

The patent extracts the memory access function from CPU control, allowing independent memory operations through RDMA. This extraction enables memory bandwidth to be utilized fully without CPU involvement, resolving the contradiction between command processing capability and memory bandwidth usage efficiency

Inventive Principle:
Principle #2Taking out (Extraction)

3Adaptability or versatility

If multiple KV servers are deployed to improve scalability, then system capacity is improved, but cache synchronization complexity increases

Engineering Contradiction:
ImprovescalabilityVSAvoidcache synchronization complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent extracts the synchronization function from the KV server architecture by implementing client-side caching with local storage. Each client maintains its own cache independently, eliminating the need for complex inter-server synchronization protocols. This extraction of synchronization requirements enables horizontal scalability while keeping the system simple

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent implements self-service caching at the client level, where each client independently manages its own cache without requiring coordination with other KV servers. This self-service approach allows the system to scale horizontally while avoiding the complexity of centralized or coordinated synchronization mechanisms

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10581997B2Techniques for storing or accessing a key-value item
Publication Date: 2020.03.03 INTEL CORP
  • US10581997B2 patent drawing
  • US10581997B2 patent drawing
  • US10581997B2 patent drawing

AI summary

Examples may include techniques for storing or accessing a key-value (KV) item stored in a memory that is part of a memcached system. A KV server coupled with a network input/output device may be capable of allocating one or more item slots from the memory and indicating to logic or features of the network input/output device whether the KV item is stored in a single allocated item slot of the memory, accessible via multiple allocated item slots of the memory or whether the KV item is being updated.