Database Query Scheduling via Elapsed Time Feedback

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional scheduling techniques for online systems, such as database systems, often allocate disproportionate resources to consumers based on priority, leading to inaccurate allocation and inefficient resource utilization.

Innovation Solution

The system schedules queries by maintaining consumer groups and using accumulated elapsed time and resource allocation ratios to determine resource distribution, adjusting processing rates based on these metrics to ensure fair resource usage across consumer groups.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional priority-based scheduling is used, then high-priority consumers receive more resources, but resource allocation becomes disproportionate and inaccurate

Engineering Contradiction:
Improveresource allocation accuracyVSAvoidresource utilization efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system implements feedback by continuously monitoring the elapsed time of query execution for each consumer group and using this information to dynamically adjust resource allocation. The scheduler compares the actual resource consumption (measured by elapsed time) against the allocated resources and modifies scheduling decisions to correct any discrepancies, ensuring accurate and proportional resource distribution over time.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The scheduling system transitions from static priority-based allocation to dynamic allocation based on real-time elapsed time measurements. The resource allocation ratios are adjusted dynamically according to the monitored execution times, allowing the system to adapt to changing workload conditions and consumer group requirements, thereby achieving both accuracy and efficiency.

Inventive Principle:
Principle #15Dynamics

2Speed

If disproportionate resources are allocated to some consumers, then those consumers get faster processing, but other consumers experience resource starvation

Engineering Contradiction:
Improvequery processing speedVSAvoidwaiting time for lower-priority consumers
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The system applies equipotentiality by ensuring that all consumer groups receive fair and proportional access to resources over time. By monitoring elapsed time and adjusting allocation ratios, the system creates a balanced state where no consumer group is systematically favored or disadvantaged, eliminating resource starvation while maintaining overall system throughput and processing speed.

Inventive Principle:
Principle #12Equipotentiality

3Reliability

If accumulated elapsed time is monitored and used for scheduling, then fair resource distribution is achieved, but scheduling complexity increases

Engineering Contradiction:
Improvefairness of resource distributionVSAvoidscheduling system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The scheduling system implements self-service by automatically monitoring its own resource allocation effectiveness through elapsed time measurements and autonomously adjusting scheduling decisions to maintain fairness. This self-regulating mechanism eliminates the need for external intervention or complex manual configuration, achieving fair resource distribution while keeping the system relatively simple and self-managing.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10198292B2Scheduling database queries based on elapsed time of queries
Publication Date: 2019.02.05 ACTIAN SUB III INC
  • US10198292B2 patent drawing
  • US10198292B2 patent drawing
  • US10198292B2 patent drawing

AI summary

A system, for example, an online system or a database system schedules requests received for execution. The system maintains consumer groups and receives a measure of amount of resources allocated for each consumer group. The system maintains a measure of accumulated elapsed time of execution of requests received from each consumer group. If the system determines that resources are available for executing a request, the system selects a request for execution from a consumer group based on the measure of accumulated elapsed time for processing queries for the consumer group and the measure of amount of resources allocated for the consumer group. The system maintains relative cumulative elapsed times of queries across consumer groups in the same ratio as the allocated share for the consumer groups. Accordingly, the system schedules requests such that each consumer group approaches its allocation of resources compared to other groups smoothly over time.