Database Priority Scheduler Hierarchical Resource Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing database management systems face challenges in efficiently managing resources among diverse workloads with varying priorities, leading to suboptimal performance and resource allocation, especially in large databases with millions or billions of records.

Innovation Solution

The Teradata Priority Scheduler organizes database threads into task groups within a hierarchical structure, using the control group mechanism to allocate resources based on priority levels, allowing for flexible and effective management of resources across different workloads, with features like the 'Remaining' workload to ensure resource flow to lower tiers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If resources are allocated based on simple first-come-first-served or flat priority models, then implementation is simple, but resource allocation efficiency deteriorates when diverse workloads with varying priorities compete for resources

Engineering Contradiction:
Improveresource allocation efficiencyVSAvoidscheduler structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the resource allocation system into multiple hierarchical levels: global resource pool, task groups, and individual tasks. Each level has its own resource pool and allocation rules, allowing complex multi-criteria priority scheduling to be broken down into manageable segments that can be implemented and controlled independently at each level.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a hierarchical dimension to resource allocation, transforming a flat single-level allocation system into a multi-level hierarchy. This adds vertical stratification (different priority levels) while maintaining horizontal allocation mechanisms at each level, enabling sophisticated priority management without overwhelming complexity at any single level.

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

2Reliability

If higher priority tasks are allocated more resources, then critical workloads get better performance, but lower priority tasks may starve and receive insufficient resources

Engineering Contradiction:
Improveperformance guarantee for critical workloadsVSAvoidresource utilization for lower priority workloads
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements dynamic resource allocation where resource pools at each hierarchical level are not fixed but dynamically adjust based on demand and availability. When higher priority tasks consume resources, the system dynamically reallocates remaining resources to lower priority tasks, ensuring both critical workloads get guaranteed performance and lower priority tasks receive adequate resources when available.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent establishes resource pools and allocation rules in advance at each hierarchical level before workload competition begins. This preliminary configuration ensures that critical workloads have pre-allocated resource guarantees while lower priority tasks have access to residual resources, preventing starvation before it occurs.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If a hierarchical task group structure is implemented, then resource allocation flexibility improves, but system complexity and management overhead increase

Engineering Contradiction:
Improveresource allocation flexibilityVSAvoidhierarchy management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a nested hierarchical structure where task groups contain tasks, and resource pools are nested at each level. This nested organization allows flexible resource allocation by enabling resource management at multiple granularities simultaneously, while the nested nature provides a natural framework for inheritance and default rules that reduces management overhead.

Inventive Principle:
Principle #7Nested doll (Nesting)

Solution Approach 2:

The patent creates a universal hierarchical framework that can accommodate diverse workload types and priority schemes through a common structure. The same hierarchical mechanism serves multiple functions: resource allocation, priority management, workload isolation, and performance guarantee, reducing the need for separate management systems for each function.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS9298506B2Assigning resources among multiple task groups in a database system
Publication Date: 2016.03.29 TERADATA CORP
  • US9298506B2 patent drawing
  • US9298506B2 patent drawing
  • US9298506B2 patent drawing

AI summary

A computer running a database system receives one or more queries, each query comprised of parallel threads of execution working towards the common goal of completing a user request. These threads are grouped into a schedulable object called a task group. The task groups are placed within a specific multiple tier hierarchy, and database system resources allocated to the task groups according to their placement within the hierarchy. Beginning with the top tier of the hierarchy, resources remaining after allocations to each task group within a tier are passed to the next lower tier for allocation.