Hybrid Memory Join Operator Data Placement

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Hybrid main memory systems face challenges in efficiently distributing data between dynamic random access memory (DRAM) and non-volatile memory (NVM) to minimize power loss while maintaining performance, as traditional data migration techniques introduce runtime overhead and energy consumption.

Innovation Solution

The implementation selectively places intermediate results of a join operator in DRAM or NVM based on payload size and cache size, analyzing query execution plans to predict frequent memory accesses and allocate data sets on DRAM, thereby avoiding data migration and enhancing performance and energy-efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If data is stored in DRAM for fast access, then speed is improved, but use of energy worsens due to continuous leakage and refresh power

Engineering Contradiction:
Improvedata access speedVSAvoidstatic energy consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The system performs preliminary analysis of the query execution plan to predict which intermediate results will be frequently accessed by join operators. Based on this prediction, data is proactively placed in DRAM before it is needed, avoiding the need for frequent migrations and reducing overall energy consumption while maintaining fast access speeds.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically allocates memory types based on runtime characteristics. It analyzes the query execution plan at runtime to identify join operators and their intermediate results, then selectively places only the necessary data in DRAM while keeping less critical data in NVM, creating a dynamic and adaptive memory management strategy.

Inventive Principle:
Principle #15Dynamics

2Use of energy by moving object

If data is migrated between memory types to optimize power consumption, then use of energy is improved, but productivity worsens due to runtime overhead

Engineering Contradiction:
Improvepower consumptionVSAvoidruntime performance
Core Design Contradiction:
Use of energy by moving objectVSProductivity

Solution Approach 1:

The system performs memory allocation decisions in advance by analyzing the query execution plan before query execution. It identifies join operators and predicts their intermediate results, pre-allocating appropriate memory types for each dataset. This eliminates the need for runtime data migration, thereby optimizing power consumption without sacrificing runtime performance.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system autonomously manages memory allocation by automatically analyzing query execution plans, predicting data access patterns, and allocating appropriate memory types without requiring external intervention or complex runtime migration protocols, thus improving both energy efficiency and runtime performance.

Inventive Principle:
Principle #25Self-service

3Use of energy by moving object

If intermediate results are stored in NVM to reduce energy consumption, then use of energy is improved, but speed worsens due to increased latency

Engineering Contradiction:
Improveenergy efficiencyVSAvoidaccess latency
Core Design Contradiction:
Use of energy by moving objectVSSpeed

Solution Approach 1:

The system applies different memory types to different data locations based on their specific access requirements. Intermediate results of join operators, which require fast access, are selectively placed in DRAM, while other less frequently accessed data remains in NVM. This localized optimization ensures that only the critical data paths use high-speed memory, balancing energy efficiency with performance.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system proactively identifies which intermediate results will be frequently accessed by analyzing the query execution plan for join operators. It pre-places these specific datasets in DRAM before execution, ensuring fast access when needed while keeping the overall energy consumption low by using NVM for other data.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10783146B2Join operations in hybrid main memory systems
Publication Date: 2020.09.22 SAP SE
  • US10783146B2 patent drawing
  • US10783146B2 patent drawing
  • US10783146B2 patent drawing

AI summary

Implementations of the present disclosure include methods, systems, and computer-readable storage mediums for receiving an annotated query execution plan (aQEP), the aQEP being processed to execute a query on an in-memory database in a hybrid memory system, and including one or more annotations, each annotation indicating an output of a respective operator that is to be provided as input to a join operator, determining a payload size at least partially based on an estimated size of an intermediate output of the join operator, selecting a memory type from a plurality of memory types in the hybrid memory system based on the payload size and a cache size, and storing, after execution of the aQEP, the intermediate output on the memory type in the hybrid memory system.