Database Management System Dynamic Task Generation Memory Constraints
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current database management systems face challenges in dynamically managing the number of tasks for query execution, leading to memory resource exhaustion or insufficient data read requests due to inappropriate allocation of memory resources, especially when multiple queries are executed concurrently.
Innovation Solution
A database management system (DBMS) with a query receiving unit, query execution plan creating unit, and query execution unit that dynamically generates tasks based on memory resource availability, determining the suitable number of simultaneous tasks to execute while ensuring memory resource constraints are not exceeded, by calculating the number of generatable tasks and allocating resources accordingly.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the DBMS generates a large number of tasks to increase data read multiplicity, then query execution speed improves, but memory resources are exhausted and thrashing occurs
Solution Approach 1:
The patent applies dynamics by making the task generation mechanism adaptive rather than static. The DBMS dynamically adjusts task generation based on real-time memory resource availability and task completion status. When memory resources are sufficient, more tasks are generated to increase parallelism; when memory is constrained, task generation is throttled. This dynamic adjustment resolves the contradiction between maximizing query execution speed and preventing memory exhaustion.
Solution Approach 2:
The patent changes the parameter of task generation rate based on system state. By monitoring memory resource usage and task completion metrics, the system adjusts the number of simultaneous tasks as a controllable parameter. This allows the system to optimize query execution speed while maintaining memory resources within acceptable limits, preventing thrashing while maximizing parallelism when possible.
2Quantity of substance
If the DBMS limits the number of simultaneous tasks to conserve memory resources, then memory exhaustion is prevented, but data read multiplicity becomes insufficient and query execution time increases
Solution Approach 1:
The patent applies preliminary action by proactively monitoring task completion status and memory resource availability before memory exhaustion occurs. The system continuously evaluates whether generated tasks have completed and whether memory resources are becoming constrained, adjusting task generation accordingly. This preliminary detection and response mechanism prevents both memory exhaustion and unnecessary delays in query execution.
3Ease of operation
If the DBMS uses a fixed predetermined threshold for task generation, then control is simple, but it cannot adapt to varying memory resource availability and query characteristics
Solution Approach 1:
The patent implements feedback mechanisms where the DBMS continuously monitors task completion status, memory resource usage, and query execution progress. This feedback information is used to dynamically adjust the task generation rate and threshold values. The system learns from system state changes and adapts its control parameters accordingly, maintaining both ease of operation through automated control and adaptability to varying conditions.
Data Source
Figure 1~2
Figure 3~4
Figure 5~6
AI summary
A database management system (DBMS) generates a query execution plan including information indicating one or more database (DB) operations necessary to execute the query and executes the query based on the query execution plan. The DBMS dynamically generates the task for executing the DB operation in execution of the query and executes the dynamically generated task. The DBMS performs a determination processing of simultaneous-task-generation number when newly creating a task. The determination processing of simultaneous-task-generation number is to calculate the number of simultaneous task generation, which is the number of tasks that can be generated simultaneously, based on the number of tasks which can be newly generated, a first memory resource amount which is the amount of memory resources necessary to be allocated per task newly generated, and a second memory resource amount which is the number of memory resources that can be newly allocated. The number of tasks generated dynamically and simultaneously is equal to or smaller than the calculated number of simultaneously generatable tasks.