Work Scheduling on Candidate Processing Unit Collections

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computing systems, higher priority units of work can be starved due to long-running lower priority tasks, leading to increased scheduling complexity and overhead as the number of processing resources grows, which existing schedulers struggle to manage effectively.

Innovation Solution

A scheduler that employs a scheduling technique that does not substantially increase resource usage with the quantity of processing units, utilizing lockless buffers and thread domains to prioritize and schedule units of work based on locality and priority, reducing contention and scheduling overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional scheduling techniques are used to manage processing resources, then scheduling coverage is maintained across all processing units, but scheduling complexity and resource usage increase substantially with the quantity of processing units

Engineering Contradiction:
Improvescheduling coverageVSAvoidscheduling complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system segments processing units into thread domains, where each domain manages its own set of processing units independently. This segmentation allows scheduling decisions to be made locally within each domain rather than globally across all processing units, reducing the complexity growth rate as system size increases.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Idle processing units act as intermediaries that can steal work from other thread domains. This intermediary mechanism distributes workload dynamically without requiring centralized scheduling coordination for every task, reducing overall scheduling complexity while maintaining system-wide productivity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If traditional scheduling techniques are used to manage processing resources, then all processing units can be utilized, but resource usage for scheduling increases with the quantity of processing units

Engineering Contradiction:
Improveresource utilizationVSAvoidscheduling overhead
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

By dividing the system into independent thread domains, each domain manages its own processing units and work queues independently. This segmentation reduces the scheduling overhead that would otherwise scale with the total number of processing units, as each domain operates autonomously with minimal inter-domain coordination.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Thread domains and processing units are designed to be self-sufficient, making their own scheduling decisions without requiring centralized coordination. Idle processing units can autonomously steal work from other domains, reducing the need for complex centralized scheduling operations and lowering overall scheduling overhead.

Inventive Principle:
Principle #25Self-service

3Productivity

If long-running lower priority tasks are executed on processing units, then processing capacity is utilized, but higher priority units of work are starved

Engineering Contradiction:
Improveprocessing capacity utilizationVSAvoidpriority guarantee
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

Idle processing units from other thread domains act as intermediaries that can steal high-priority work from domains where low-priority tasks are running. This work-stealing mechanism ensures that high-priority work can be executed on available processing units across the system, preventing starvation while maintaining overall processing capacity utilization.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system dynamically adjusts work distribution through work stealing, allowing processing units to change their workload based on real-time conditions. When a processing unit becomes idle, it can dynamically steal high-priority work from other domains, ensuring priority guarantees are maintained while keeping processing units utilized.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11645113B2Work scheduling on candidate collections of processing units selected according to a criterion
Publication Date: 2023.05.09 HEWLETT PACKARD ENTERPRISE DEV LP
  • US11645113B2 patent drawing
  • US11645113B2 patent drawing
  • US11645113B2 patent drawing

AI summary

In some examples, a system receives a first unit of work to be scheduled in the system that includes a plurality of collections of processing units to execute units of work, where each respective collection of processing units of the plurality of collections of processing units is associated with a corresponding scheduling queue. The system selects, for the first unit of work according to a first criterion, candidate collections from among the plurality of collections of processing units, and enqueues the first unit of work in a schedule queue associated with a selected collection of processing units that is selected, according to a selection criterion, from among the candidate collections.