Adaptive Task Scheduling for Server Queue Bottlenecks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Server computer systems face challenges in efficiently distributing and assigning tasks among task queues to meet quality of service agreements due to heavy workloads and varying task execution times, leading to potential delays and failures in processing millions of tasks within specified time frames.
Innovation Solution
Implementing a server computer system with first and second sets of task queues having different performance characteristics, where tasks are scheduled based on estimated execution times and performance metrics, allowing for dynamic reassignment to optimize task processing and meet quality of service requirements.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If tasks are assigned to a single task queue, then the scheduling process is simple, but the system cannot meet quality of service agreements under heavy workloads
Solution Approach 1:
The patent divides the single task queue into multiple task queues (first set and second set) with different performance characteristics. This segmentation allows the system to distribute tasks based on their execution time requirements, with short-execution-time tasks going to one set and long-execution-time tasks to another, thereby improving quality of service agreement fulfillment while managing complexity through structured organization.
Solution Approach 2:
The patent implements dynamic task queue assignment where the scheduling algorithm adapts task queue selection based on current system conditions and task characteristics. The system dynamically adjusts which task queue a task is assigned to based on estimated execution time and performance metrics, allowing the system to respond to varying workloads and maintain service quality without rigid fixed assignments.
2Productivity
If the system processes billions of tasks quickly, then productivity increases, but the task scheduler becomes overloaded
Solution Approach 1:
The patent segments the task scheduling workload by creating multiple task queues that handle different types of tasks simultaneously. By dividing the monolithic scheduling burden into parallel handling of short-execution-time tasks and long-execution-time tasks, the system increases overall throughput while preventing any single scheduler instance from becoming overloaded.
Solution Approach 2:
The patent introduces performance metrics as an intermediary layer between task arrival and queue assignment. The scheduling algorithm uses these metrics to make intelligent routing decisions, acting as a mediator that distributes tasks appropriately across different queue sets based on current system state, thereby maintaining scheduler stability under high throughput conditions.
3Loss of time
If tasks with varying execution times are assigned to the same queue, then queue management is simplified, but task completion time variability increases
Solution Approach 1:
The patent applies local quality by creating different task queue sets optimized for different task characteristics. The first set of task queues is optimized for short-execution-time tasks while the second set handles long-execution-time tasks. This allows each queue to be managed with appropriate local policies, reducing overall task completion time variability without requiring a single complex universal scheduling algorithm.
Solution Approach 2:
The patent changes the scheduling parameter from a single unified queue to multiple queues differentiated by performance characteristics. By changing the fundamental parameter of queue structure and introducing performance metrics as additional scheduling dimensions, the system reduces time loss through better task-queue matching while managing complexity through parameter-based differentiation rather than complex temporal scheduling logic.
Data Source
AI summary
Techniques are disclosed relating to scheduling program tasks in a server computer system. An example server computer system is configured to maintain first and second sets of task queues that have different performance characteristics, and to collect performance metrics relating to processing of program tasks from the first and second sets of task queues. Based on the collected performance metrics, the server computer system is further configured to update a scheduling algorithm for assigning program tasks to queues in the first and second sets of task queues. In response to receiving a particular program task associated with a user transaction, the server computer system is also configured to select the first set of task queues for the particular program task, and to assign the particular program task in a particular task queue in the first set of task queues.


