Background Task Scheduler Using Priority Queues for Bandwidth Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-tenant systems, shared resources face challenges in managing bandwidth allocation between foreground and background tasks, leading to inefficient use of available bandwidth, as background tasks often compete equally without consideration for urgency or priority, affecting quality of service and performance.

Innovation Solution

Implementing a background scheduler that prioritizes bandwidth allocation based on task type, size, and deadline for background tasks, using multiple task queues and token buckets to manage resource availability and ensure that critical tasks are executed promptly.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If background tasks are processed using a first-in, first-out strategy, then the system is simple to implement, but critical tasks cannot be prioritized leading to poor quality of service

Engineering Contradiction:
Improvequality of serviceVSAvoidscheduling mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments background tasks into different priority levels using multiple queues (e.g., high priority, normal priority, low priority queues). This segmentation allows critical tasks to be separated from non-critical tasks, enabling differentiated handling where critical tasks can be processed first while maintaining system reliability without requiring complete redesign of the scheduling mechanism.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by assigning different service qualities to different task queues. High priority tasks receive preferential treatment with faster processing and guaranteed bandwidth, while low priority tasks use remaining resources. This localized differentiation of service quality resolves the contradiction by improving reliability for critical tasks without uniformly increasing system complexity.

Inventive Principle:
Principle #3Local quality

2Speed

If all background tasks are treated equally for bandwidth allocation, then the scheduling mechanism is simple, but urgent tasks experience delays affecting performance

Engineering Contradiction:
Improvetask execution speedVSAvoidbandwidth allocation mechanism complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent implements dynamic bandwidth allocation where the bandwidth assigned to different task queues changes based on current system conditions and task priorities. The bandwidth allocation mechanism dynamically adjusts the portion of available bandwidth allocated to high priority versus low priority tasks, enabling urgent tasks to execute faster when needed while keeping the allocation logic adaptable rather than static.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter of bandwidth allocation from a fixed equal distribution to a variable distribution based on task priority levels. By modifying the bandwidth allocation parameter dynamically according to task characteristics and system state, the system achieves faster execution for urgent tasks without requiring fundamentally complex allocation mechanisms.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If more bandwidth is allocated to background tasks, then task completion speed improves, but foreground customer I/O performance may be degraded

Engineering Contradiction:
Improvebackground task throughputVSAvoidforeground service performance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies partial action by allocating bandwidth to background tasks in controlled portions rather than fully saturating the available bandwidth. The system allocates a baseline portion of bandwidth to background tasks while reserving sufficient bandwidth for foreground customer I/O operations. This partial allocation to background tasks improves their throughput while preventing degradation of foreground service performance.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent implements feedback mechanisms that monitor both background task progress and foreground service performance. Based on this feedback, the system dynamically adjusts background bandwidth allocation to maintain foreground performance guarantees. When foreground performance approaches threshold levels, the feedback loop reduces background bandwidth allocation, thereby maintaining reliability of foreground services while still achieving acceptable background task throughput.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11314547B1Background task scheduling based on shared background bandwidth
Publication Date: 2022.04.26 AMAZON TECH INC
  • US11314547B1 patent drawing
  • US11314547B1 patent drawing
  • US11314547B1 patent drawing

AI summary

Techniques for background task scheduling based on shared background bandwidth are described. A method for background task scheduling based on shared background bandwidth may include receiving a request to perform one or more background tasks on a storage server of a storage service in a provider network, determining a priority of each of the one or more background tasks, wherein each background task is associated with a size parameter and a temporal parameter, and wherein the priority of each of the one or more background tasks is based at least on its associated size parameter and temporal parameter, determining a task type associated with each background task, adding each background task to one of a plurality of task queues associated with different task types, wherein each task queue is associated with a bandwidth allocation, and scheduling the one or more background tasks to be performed based on their priority and the bandwidth allocation.