Hierarchical Memory Allocation for Database Service Level Goals

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Database systems face challenges in managing workloads to meet service level goals due to interlocking threads and resource sharing, especially in large-scale configurations, leading to high priority jobs starving for memory and failing to meet performance objectives, particularly in cloud environments with object storage.

Innovation Solution

Implementing a hierarchical inverted tree-based memory management system that allocates resources based on priority, allowing high priority tasks to have higher memory limits and temporarily adjusting lower priority tasks to ensure high priority jobs meet their goals, using Linux control groups to manage memory allocation dynamically.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If lower priority jobs are allowed to consume excessive memory, then more memory resources are utilized, but high priority jobs starve for memory and miss service level goals

Engineering Contradiction:
Improvememory resource utilizationVSAvoidservice level goal achievement
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent segments the memory management system into multiple priority levels (high priority and low priority job groups) with distinct memory limits. This segmentation allows independent control of memory allocation for each priority level, preventing low priority jobs from consuming memory needed by high priority jobs while still utilizing available memory resources.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies different memory management policies (different memory limits) to different job groups based on their priority. High priority job groups are assigned higher memory limits while low priority job groups are assigned lower memory limits, allowing each group to receive appropriate resources according to its specific needs and importance.

Inventive Principle:
Principle #3Local quality

2Reliability

If memory limits are set for all job groups, then high priority jobs can meet service level goals, but low priority jobs may be restricted from using available memory resources

Engineering Contradiction:
Improveservice level goal achievementVSAvoidmemory resource utilization
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent implements dynamic memory management where memory limits for low priority job groups can be adjusted based on system conditions. When high priority jobs need memory, the system can reduce or temporarily set to zero the memory limits for low priority jobs. When high priority jobs are dormant, memory limits for low priority jobs can be increased to utilize available memory resources.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system continuously monitors memory usage and service level goal achievement, and adjusts memory limits dynamically based on this feedback. The workload manager receives information about memory pressure and service level performance, then modifies memory allocation accordingly to maintain both service level goals and efficient resource utilization.

Inventive Principle:
Principle #23Feedback

3Productivity

If threads are allowed to share resources and cooperate, then work efficiency improves, but threads may interlock themselves in the Deadly Embrace and stop making progress

Engineering Contradiction:
Improvework efficiencyVSAvoidprogress continuity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments threads into different priority levels with hierarchical scheduling. High priority threads are scheduled independently from low priority threads, preventing deadlock situations where threads of different priorities block each other. This segmentation maintains cooperation within priority groups while preventing harmful interlocking between groups.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a workload manager as an intermediary that mediates resource allocation and scheduling between different priority groups. The workload manager controls memory allocation and thread scheduling, preventing direct resource contention that could lead to deadlock while still allowing efficient resource sharing within controlled parameters.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS12504991B1Workload memory management to achieve service level goals in a highly concurrent database system executing in a cloud and/or on-prem systems
Publication Date: 2025.12.23 TERADATA US INC
  • US12504991B1 patent drawing
  • US12504991B1 patent drawing
  • US12504991B1 patent drawing

AI summary

A memory management computer system arranges a set of consumers of a computer memory resource in an inverted tree hierarchy. The memory management computer system allocates the computer memory resource among the scheduling entities. Each of the scheduling entities allocates the computer memory resource among the consumers of the computer memory resource to which it is directly coupled in the hierarchy. One of the scheduling entities in the hierarchy, a modifying scheduling entity, determines that a change is required to the allocation of the computer memory resource to one of the consumers of the computer memory resource for which the modifying scheduling entity is responsible for allocating the computer memory resource. Modifying the allocation of the computer memory resource to the one of the consumers of the computer memory resource without changing the hierarchy or creating a new hierarchy.