RDMA Memory Sharing for RDBMS Working Data
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Large-scale network service providers face performance degradation due to insufficient main memory in relational database management systems (RDBMS), which forces them to rely on slower mass storage devices like hard disk drives or solid-state drives for temporary data storage.
Innovation Solution
Implementing a memory hierarchy that includes local RAM, remote direct memory access (RDMA) for accessing shared memory of other servers, and non-volatile mass storage, with a memory broker to manage and allocate available memory across servers, allowing RDBMS to use remote RAM for temporary data storage when local RAM is depleted.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If RDBMS uses local main memory for temporary data storage, then access speed is fast, but memory capacity is limited and depletes quickly
Solution Approach 1:
The patent extends the memory hierarchy from a single-node local memory to a multi-node distributed memory system. By adding the dimension of networked server connectivity, the system can access remote memory resources across the network, effectively increasing total memory capacity while maintaining fast access speeds through direct memory access protocols.
Solution Approach 2:
The patent combines local main memory with remote server memory into a unified memory hierarchy. The RDBMS can seamlessly use both local and remote memory resources, merging their capacities to provide ample temporary storage while maintaining performance through intelligent memory management that prioritizes local memory for frequently accessed data.
2Quantity of substance
If RDBMS uses mass storage devices for temporary data storage, then memory capacity is sufficient, but access speed becomes slow
Solution Approach 1:
The patent introduces an intermediate memory layer (remote main memory) between local memory and mass storage. This creates a three-tier memory hierarchy that provides sufficient capacity while maintaining fast access speeds, as remote main memory offers significantly faster access than mass storage devices.
Solution Approach 2:
The patent copies frequently accessed data from mass storage to remote main memory, creating a cache layer. This copying mechanism allows the system to retain sufficient data capacity in mass storage while providing fast access to active data through the remote memory copy, eliminating the speed penalty of using mass storage for temporary data.
3Device complexity
If RDBMS relies on local memory only, then system simplicity is maintained, but performance degrades when memory is depleted
Solution Approach 1:
The patent introduces a memory broker as an intermediary component that manages memory allocation between local and remote memory resources. This mediator handles the complexity of distributed memory management, allowing the RDBMS to automatically access remote memory when local memory is depleted without requiring complex application-level memory management logic.
Solution Approach 2:
The system implements self-service memory management where the RDBMS automatically detects when local memory is depleted and requests additional memory from the memory broker. This automated process eliminates the need for manual memory management intervention while maintaining system performance, as the RDBMS can seamlessly transition to using remote memory resources.
Data Source
Figure 1
Figure 2
Figure 3~4
AI summary
A server system may include a cluster of multiple computers that are networked for high-speed data communications. Each of the computers has a remote direct memory access (RDMA) network interface to allow high-speed memory sharing between computers. A relational database engine of each computer is configured to utilize a hierarchy of memory for temporary storage of working data, including in order of decreasing access speed (a) local main memory, (b) remote memory accessed via RDMS, and (c) mass storage. The database engine uses the local main memory for working data, and additionally uses the RDMA accessible memory for working data when the local main memory becomes depleted. The server system may include a memory broker to which individual computers report their available or unused memory, and which leases shared memory to requesting computers.