Task Management System for Thread Starvation and Load Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing processor systems face inefficiencies due to thread starvation and poor load balancing, where tasks are assigned to threads for extended periods, leading to suboptimal processor performance and resource wastage.

Innovation Solution

A method and system that determine a task allocation metric for load balancing and core affinity, allowing reentrant tasks to be re-entered into a queue if not completed, and main tasks to be completed and freed, while pulling parent tasks into threads for accumulation, optimizing thread utilization and load distribution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If tasks are assigned to threads for extended periods to complete dependent tasks, then task completion reliability is improved, but processor productivity deteriorates due to thread starvation and inefficient resource utilization

Engineering Contradiction:
Improvetask completion reliabilityVSAvoidprocessor productivity
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments tasks into hierarchical levels (parent tasks, child tasks, subtasks) and assigns them to different thread pools at appropriate levels. This segmentation allows fine-grained tasks to be processed by specialized threads while maintaining coarse-grained task oversight, preventing thread starvation by distributing work across multiple thread pools rather than blocking a single thread until all dependent tasks complete.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimensional organization of tasks using a hierarchical structure with parent-child relationships and multiple levels of granularity. This dimensional change allows the system to track and manage task dependencies across different levels simultaneously, enabling better load balancing and thread utilization without compromising task completion reliability.

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

2Productivity

If multiple threads are provided to perform tasks, then processor productivity is improved, but device complexity increases due to thread management overhead

Engineering Contradiction:
Improveprocessor productivityVSAvoidthread management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the thread pool into specialized threads organized by task granularity level (coarse-grained parent task threads, fine-grained child task threads). This segmentation allows each thread type to handle specific task types efficiently, reducing the complexity of managing a monolithic thread pool while maintaining high productivity through specialized processing.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates a universal task management framework that handles multiple task types (parent tasks, child tasks, subtasks) and multiple thread pools through a unified interface and common data structures. This universal approach reduces management complexity by providing consistent mechanisms for task assignment, tracking, and completion across different thread types, rather than requiring separate management logic for each thread pool.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Manufacturing precision

If tasks are separated into multiple dependent tasks and subtasks, then manufacturing precision of task execution is improved, but loss of time increases due to extended thread occupation

Engineering Contradiction:
Improvetask execution precisionVSAvoidthread occupation time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The patent segments tasks into hierarchical levels with clear boundaries and assignment rules. Fine-grained child tasks and subtasks are assigned to specialized threads that can process them independently and quickly, reducing the overall thread occupation time while maintaining precise execution control through the hierarchical structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary task decomposition into parent tasks, child tasks, and subtasks with defined dependencies before execution. This preliminary structuring allows the system to pre-assign tasks to appropriate thread pools and pre-establish execution paths, reducing runtime delays and thread occupation time while maintaining precise task execution control.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP2613257B1Systems and methods for use in performing one or more tasks
Publication Date: 2020.02.19 THE BOEING CO
  • EP2613257B1 patent drawingFigure 1
  • EP2613257B1 patent drawingFigure 2
  • EP2613257B1 patent drawingFigure 3

AI summary

Systems and methods for performing a task are provided. One example method includes if the task allocation metric indicates load balancing associated with the processor (14) is below a first threshold, determining whether the task is a reentrant task, if the task is a reentrant task, determining whether a stopping criteria is satisfied, reentering the task into a queue (26) of tasks if the stopping criteria is not satisfied and the task is a reentrant task, if the task allocation metric indicates core (29) affinity associated with the at least one processor (14) is below a second threshold, determining whether the task is a main task, if the task is not a main task, determining whether a stopping criteria is satisfied, and if the stopping criteria is satisfied and the task is not a main task, pulling a parent task associated with the task into the thread (31).