RDMA Key-Value Server Bypassing CPU for Memory Bandwidth
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
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
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
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
3Adaptability or versatility
If multiple KV servers are deployed to improve scalability, then system capacity is improved, but cache synchronization complexity increases
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
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
Data Source
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.


