Dynamic Task Prioritization for In-Memory Database CPU Scheduling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional resource management systems in in-memory database management systems (IMDBMS) face challenges in guaranteeing timely execution of transactional queries when analytical queries are executed, leading to CPU time bottlenecks and unfair CPU time distribution among query classes, which is not suitable for time-critical transactional queries.

Innovation Solution

A method using a priority queue to manage tasks, where each task is assigned a priority based on its class, ensuring fast execution of time-critical queries and fair CPU time distribution by adjusting priorities dynamically to approximate target CPU time fractions, without incurring high overhead through thread multiplexing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional resource management systems schedule queries strictly in first-in-first-out manner, then queries are executed in arrival order, but time-critical transactional queries cannot be executed timely when analytical queries are simultaneously executed

Engineering Contradiction:
Improvetimely execution guaranteeVSAvoidexecution delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements dynamic task prioritization where the priority of tasks is not fixed but changes based on system state. The resource management system continuously adjusts task priorities in the queue based on factors such as task type (transactional vs. analytical), current system load, and service level agreements. This allows time-critical transactional queries to be dynamically elevated in priority when analytical queries are executing, ensuring timely execution while maintaining FIFO as a baseline.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the scheduling parameter from static FIFO ordering to dynamic priority-based ordering. By introducing priority levels and adjusting them based on task characteristics and system conditions, the resource management system can differentiate between time-critical transactional queries and less time-sensitive analytical queries, allocating CPU time accordingly without requiring complex thread multiplexing.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If complex analytical queries are executed simultaneously with transactional queries on the same database instance, then analytical query execution speed is improved, but CPU time access for transactional queries is blocked

Engineering Contradiction:
Improveanalytical query execution speedVSAvoidCPU time blocking
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies partial action by allowing analytical queries to consume CPU time resources partially and temporarily without completely blocking transactional queries. The resource management system allocates CPU time in a controlled manner, permitting analytical queries to execute at high speed while reserving portions of CPU capacity for transactional queries through priority-based scheduling. This ensures analytical queries benefit from parallelism while transactional queries retain access to necessary CPU resources.

Inventive Principle:
Principle #16Partial or excessive action

3Ease of operation

If conventional resource management systems do not enforce fair fraction scheduling, then query execution is simple, but CPU time distribution among query classes is unfair

Engineering Contradiction:
Improvescheduling simplicityVSAvoidfair CPU time distribution
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent implements feedback mechanisms where the resource management system continuously monitors CPU time consumption by different query classes and adjusts task priorities accordingly. The system tracks the fraction of CPU time allocated to each query class and compares it against target fractions defined by service level agreements. When deviations are detected, the system dynamically adjusts priorities to restore fair distribution, maintaining both simplicity and fairness through automated feedback-driven control.

Inventive Principle:
Principle #23Feedback

Data Source

PatentEP2840513B1Dynamic task prioritization for in-memory databases
Publication Date: 2019.05.15 HASSO PLATTNER INSTITUT FUR SOFTWARESYSTTECHN
  • EP2840513B1 patent drawingFigure 1
  • EP2840513B1 patent drawingFigure 2
  • EP2840513B1 patent drawingFigure 3

AI summary

The present invention provides methods and system, including computer program products, implementing and using techniques for providing tasks of different classes with access to CPU time provided by worker threads of a database system. In particular, the invention relates to such a database-system-implemented method comprising the following steps: inserting the tasks to a queue of the database system; and executing the tasks inserted to the queue by worker threads of the database system according to their order in the queue; characterized in that the queue is a priority queue; and in that the method further comprises the following steps: assigning each class to a respective priority; and in that the step of inserting the tasks to the queue includes: associating each task with the respective priority assigned to its class.