RDMA Memory Sharing for RDBMS Working Data

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedata access speedVSAvoidavailable memory capacity
Core Design Contradiction:
SpeedVSQuantity of substance

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.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

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.

Inventive Principle:
Principle #5Merging (Combining)

2Quantity of substance

If RDBMS uses mass storage devices for temporary data storage, then memory capacity is sufficient, but access speed becomes slow

Engineering Contradiction:
Improveavailable memory capacityVSAvoiddata access speed
Core Design Contradiction:
Quantity of substanceVSSpeed

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.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

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.

Inventive Principle:
Principle #26Copying

3Device complexity

If RDBMS relies on local memory only, then system simplicity is maintained, but performance degrades when memory is depleted

Engineering Contradiction:
Improvememory management complexityVSAvoidRDBMS performance
Core Design Contradiction:
Device complexityVSProductivity

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

Inventive Principle:
Principle #25Self-service

Data Source

PatentEP3433737B1Memory sharing for working data using rdma
Publication Date: 2021.08.11 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP3433737B1 patent drawingFigure 1
  • EP3433737B1 patent drawingFigure 2
  • EP3433737B1 patent drawingFigure 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.