RDMA Cache-Friendly In-Memory Hash Index Queries

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing database server systems face inefficiencies in data retrieval, particularly when the database server instance fails, leading to unavailability of data in volatile memory and increased workload, which hampers client applications' ability to access data efficiently.

Innovation Solution

Implementing Remote Direct Memory Access (RDMA) techniques that allow a requesting entity to directly access and retrieve data from the volatile memory of a server machine without involving the database server instance, using RDMA to obtain target location information and subsequently retrieve the data, thereby bypassing the need for CPU interruption or OS kernel involvement.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If client applications send requests to the database server instance to retrieve data from volatile memory, then data access is enabled, but the system becomes inefficient and unavailable when the database server instance fails

Engineering Contradiction:
Improvedata availabilityVSAvoiddata retrieval efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts the data retrieval function from the database server instance by enabling client applications to directly access volatile memory through RDMA. This separates the data storage function (in volatile memory) from the data retrieval function, allowing clients to bypass the database server instance for direct memory access while maintaining data availability even when the server instance fails.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces RDMA (Remote Direct Memory Access) as an intermediary mechanism that enables direct communication between client applications and the server's volatile memory without involving the database server instance or CPU. This intermediary layer allows efficient data retrieval while reducing the workload on the database server instance.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If the database server instance processes all data retrieval requests, then data access control is maintained, but the workload on the server increases and response time decreases

Engineering Contradiction:
Improvedata access controlVSAvoidresponse time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent segments the data retrieval process into two parts: (1) control functions that remain with the database server instance, and (2) actual data retrieval operations that are performed directly by client applications through RDMA. This segmentation reduces the server's workload and response time while maintaining access control through the server's authorization mechanisms.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary action by having the database server instance pre-allocate and prepare volatile memory regions for RDMA access before client applications need the data. This includes setting up memory regions, registering memory addresses, and configuring RDMA access parameters in advance, so that when clients need data, they can immediately access it without waiting for server processing.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP3631651B1Method for efficient primary key based queries using atomic RDMA reads on cache friendly in-memory HASH index
Publication Date: 2021.07.14 ORACLE INT CORP
  • EP3631651B1 patent drawingFigure 1
  • EP3631651B1 patent drawingFigure 2
  • EP3631651B1 patent drawingFigure 3

AI summary

Techniques are provided for enabling a requesting entity to retrieve data that is managed by a database server instance from the volatile memory of a server machine that is executing the database server instance. The techniques allow the requesting entity to retrieve the data from the volatile memory of the host server machine without involving the database server instance in the retrieval operation. Because the retrieval does not involve the database server instance, the retrieval may succeed even when the database server instance has stalled or become unresponsive. In addition, direct retrieval of data using the techniques described herein will often be faster and more efficient than retrieval of the same information through conventional interaction with the database server instance.