Adaptive Database Table Placement in NUMA Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In NUMA architectures, workload imbalance occurs due to uneven access frequencies of database tables across sockets, leading to saturated and underutilized sockets, which affects memory access times and overall system performance.

Innovation Solution

Adaptive placement of frequently accessed database tables by detecting saturated sockets and moving or partitioning them to underutilized sockets, utilizing methods such as the Linux move_pages system call or hardware implementations to redistribute memory pages and adjust partition granularity dynamically.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If database tables are allocated on sockets based on initial placement, then memory access can be performed on sockets simultaneously, but workload imbalance occurs causing saturated and underutilized sockets

Engineering Contradiction:
Improvememory access throughputVSAvoidworkload balance
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent implements dynamic table placement by continuously monitoring socket workload and automatically moving database tables between sockets based on real-time conditions. The system transitions from static initial placement to dynamic adaptive placement, where tables are relocated from saturated sockets to underutilized sockets to maintain workload balance and optimize memory access throughput

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent employs feedback mechanisms by monitoring socket utilization metrics and access frequencies of database tables. Based on this feedback information, the system determines which tables to move and where to relocate them, creating a closed-loop control system that continuously optimizes workload distribution across sockets

Inventive Principle:
Principle #23Feedback

2Speed

If frequently accessed tables are concentrated on one socket, then local memory access speed is improved, but that socket becomes saturated while other sockets remain underutilized

Engineering Contradiction:
Improvememory access speedVSAvoidoverall system throughput
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The patent applies local quality by allowing different sockets to have different table assignments based on their workload characteristics. Frequently accessed tables are placed on sockets with available capacity, while less accessed tables are placed on underutilized sockets, optimizing both local access speed and overall system throughput through differentiated placement strategies

Inventive Principle:
Principle #3Local quality

3Ease of operation

If database tables are moved between sockets to balance workload, then socket utilization is improved, but system complexity increases

Engineering Contradiction:
Improvesocket utilization balanceVSAvoidtable management complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent implements self-service by enabling the database system to automatically monitor its own workload conditions and perform table migrations without external intervention. The system autonomously identifies saturated sockets, selects tables for migration, and executes moves to underutilized sockets, reducing the need for complex external management mechanisms

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11275721B2Adaptive table placement in NUMA architectures
Publication Date: 2022.03.15 SAP SE
  • US11275721B2 patent drawing
  • US11275721B2 patent drawing
  • US11275721B2 patent drawing

AI summary

Techniques and solutions are provided for performing adaptive database table placement in a non-uniform memory access (NUMA) architecture. The adaptive table placement can occur in response to changing workloads on the NUMA nodes. For example, if a particular NUMA node is saturated, a database table may be moved from the memory of the saturated NUMA node to the memory of another NUMA node that is underutilized. In some cases, an entire database table is moved, while in other cases the database table is partitioned and only part of the table is moved.