RDMA Pointer Sharing for Key-Value Store Performance
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing key-value store systems face performance bottlenecks due to CPU interruptions during network protocol processing, limiting scalability and efficiency in accessing large datasets across multiple clients.
Innovation Solution
Implementing a shared remote DMA (RDMA) pointer system that allows multiple clients to access a key-value store without interrupting the CPU, by mapping RDMA pointers to a shared memory region and storing them in a cache for efficient reuse.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If general purpose network protocol processing is used for client access to key-value store, then network communication is enabled, but CPU processing overhead increases and performance is bottlenecked
Solution Approach 1:
The patent extracts the network protocol processing function from the CPU by using RDMA (Remote Direct Memory Access) technology. The RDMA pointers enable direct memory access between clients and the key-value store without CPU intervention, thereby removing the processing overhead from the CPU while maintaining network communication capability.
Solution Approach 2:
The patent introduces RDMA pointers as an intermediary mechanism between clients and the key-value store. These pointers act as mediators that enable direct memory access and data transfer without requiring CPU processing, thus resolving the contradiction between network communication and performance.
2Speed
If RDMA pointers are cached in shared memory region, then access speed to key-value store improves, but memory usage increases
Solution Approach 1:
The patent applies local quality by creating a dedicated shared memory region specifically for caching RDMA pointers. This localized cache stores frequently accessed pointer information, enabling fast access while containing the memory overhead to a specific, manageable region rather than increasing overall system memory usage indiscriminately.
Data Source
AI summary
A method to share remote DMA (RDMA) pointers to a key-value store among a plurality of clients. The method allocates a shared memory and accesses the key-value store with a key from a client and receives an information from the key-value store. The method further generates a RDMA pointer from the information, maps the key to a location in the shared memory, and generates a RDMA pointer record at the location. The method further stores the RDMA pointer and the key in the RDMA pointer record and shares the RDMA pointer record among the plurality of clients.


