Lagging Task Acceleration via Dynamic Processor Remapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional computer architectures face processing delays due to lagging tasks, which can bottleneck program execution as tasks wait for slower tasks to complete, particularly in programs with complex branching or irregular memory access patterns.

Innovation Solution

A processing apparatus with multiple processor types, including a controller that dynamically identifies lagging tasks by comparing execution times or stall counts, and transfers these tasks to a more capable processor for accelerated execution, utilizing a dedicated bus for task transfer between processors.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If tasks are processed in parallel on multiple processors, then program execution speed is improved, but processing delays occur when tasks lag behind others

Engineering Contradiction:
Improveprogram execution speedVSAvoidprocessing delay
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system dynamically monitors task execution progress and identifies lagging tasks in real-time, then dynamically remaps these tasks to different processors. This dynamic adaptation allows the system to respond to changing execution conditions and eliminate bottlenecks as they occur, resolving the contradiction between parallel processing speed and processing delays.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system implements a feedback mechanism by monitoring task execution status and comparing progress across processors. When a task is identified as lagging, the system provides feedback by remapping the task to a different processor, creating a closed-loop control system that continuously optimizes execution speed and eliminates delays.

Inventive Principle:
Principle #23Feedback

2Productivity

If tasks are remapped from one processor to another, then execution of lagging tasks is accelerated, but system complexity increases

Engineering Contradiction:
Improvetask execution efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system implements self-service by automatically monitoring task progress, identifying lagging tasks, and remapping them to appropriate processors without external intervention. The heterogeneous computing system autonomously manages its own task distribution and optimization, reducing the need for complex external control mechanisms while improving execution efficiency.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system uses an intermediary mechanism (the task remapping controller) that sits between the heterogeneous processors and manages task distribution. This intermediary abstracts the complexity of cross-processor task management, allowing individual processors to remain relatively simple while the system as a whole achieves optimized task execution through coordinated remapping.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10592279B2Multi-processor apparatus and method of detection and acceleration of lagging tasks
Publication Date: 2020.03.17 ADVANCED MICRO DEVICES INC
  • US10592279B2 patent drawing
  • US10592279B2 patent drawing
  • US10592279B2 patent drawing

AI summary

A method and processing apparatus for accelerating program processing is provided that includes a plurality of processors configured to process a plurality of tasks of a program and a controller. The controller is configured to determine, from the plurality of tasks being processed by the plurality of processors, a task being processed on a first processor to be a lagging task causing a delay in execution of one or more other tasks of the plurality of tasks. The controller is further configured to provide the determined lagging task to a second processor to be executed by the second processor to accelerate execution of the lagging task.