Hierarchical Task Scheduler for Low-Contention Multicore Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current multi-thread systems face challenges in maximizing parallel execution due to high contention and synchronization costs, particularly as the number of tasks and cores increase, necessitating a task scheduler that minimizes serial execution and contention.

Innovation Solution

A task scheduler that organizes tasks into hierarchical task groups and queues, using lockless synchronization primitives and priority-based assignment to worker threads, reducing contention and synchronization costs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional synchronization mechanisms (locks, mutual exclusion) are used to coordinate multi-thread execution, then task ordering and synchronization are achieved, but CPU cycles are consumed and contention increases, reducing parallel execution efficiency

Engineering Contradiction:
Improvetask synchronizationVSAvoidparallel execution efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts the synchronization function from traditional lock-based mechanisms and implements it through hierarchical task group queues with atomic operations. Task groups are separated into independent queues organized by priority levels, allowing parallel execution without mutual exclusion locks, thereby eliminating the trade-off between synchronization reliability and parallel efficiency

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent replaces the mechanical lock-based synchronization system with an atomic operation-based system using compare-and-swap (CAS) instructions. This substitution eliminates the need for CPU cycles to acquire and release locks, reducing contention and enabling true parallel execution while maintaining task ordering through the hierarchical queue structure

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Productivity

If the number of tasks and cores is increased to improve processing throughput, then parallel processing capability is enhanced, but contention and synchronization costs increase

Engineering Contradiction:
Improveprocessing throughputVSAvoidsynchronization time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments the task queue into multiple hierarchical levels (task group queues organized by priority). This segmentation allows tasks to be distributed across multiple independent queues, reducing contention when tasks are added or executed. The hierarchical structure enables efficient parallel processing by organizing tasks into manageable segments that can be processed independently

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a hierarchical dimension to task organization by creating task group queues at different priority levels. This dimensional organization allows the system to handle increased numbers of tasks and cores efficiently by distributing work across multiple dimensions (priority levels and task groups), thereby reducing synchronization overhead and contention as system scale increases

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS12443456B2Organizing tasks by a hierarchical task scheduler for execution in a multi-threaded processing system
Publication Date: 2025.10.14 OXIDE INTERACTIVE INC
  • US12443456B2 patent drawing
  • US12443456B2 patent drawing
  • US12443456B2 patent drawing

AI summary

A method for scheduling tasks from a program executed by a multi-processor core system is disclosed. The method includes a scheduler that groups a plurality of tasks, each having an assigned priority, by priority in a task group. The task group is assembled with other task groups having identical priorities in a task group queue. A hierarchy of task group queues is established based on priority levels of the assigned tasks. Task groups are assigned to one of a plurality of worker threads based on the hierarchy of task group queues. Each of the worker threads is associated with a processor in the multi-processor system. The tasks of the task groups are executed via the worker threads according to the order in the hierarchy.