Data-Dependency Task Scheduling for Lower-Overhead Processing Arrays

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current task scheduling methods in deep learning and parallel computing are complex and inefficient due to frequent switching between multiple data structures, leading to high software and hardware overheads, and slow task delivery and execution.

Innovation Solution

A task scheduling method that simplifies the data structure design by using a task information table and a data variable table to record dependency relationships between tasks and data variables, eliminating the need for memory allocation and dependency determination, thereby improving task scheduling efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If three data structures (task memory, data version memory, dependency memory) and producer/consumer linked lists are used to record relationships between tasks and data, then task management and execution can be implemented, but frequent switching between data structures increases software and hardware overheads and reduces task delivery speed

Engineering Contradiction:
Improvetask management capabilityVSAvoiddata structure complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent merges multiple separate data structures (task memory, data version memory, dependency memory) and linked lists into a unified task information table that consolidates all task-related information including dependencies, data variables, and execution status into a single structure, eliminating the need for frequent switching between multiple data structures

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The task information table serves multiple functions simultaneously: it records task dependencies, tracks data variable relationships, manages task execution status, and enables task scheduling all in one universal structure, replacing the specialized functions of multiple separate data structures

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

2Reliability

If producer linked list and consumer linked list are used to track task data relationships, then task execution order can be maintained, but sequential traversal of lists slows down task delivery

Engineering Contradiction:
Improvetask execution orderVSAvoidtask delivery speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent combines the sequential traversal mechanisms of producer and consumer linked lists into direct pointer relationships within the task information table, allowing O(1) access to task dependencies and successors without sequential traversal, thus maintaining execution order while dramatically improving delivery speed

Inventive Principle:
Principle #5Merging (Combining)

3Reliability

If relationship between task and data must be determined before establishing task relationship, then data access correctness can be ensured, but task establishment process becomes complex and overhead increases

Engineering Contradiction:
Improvedata access correctnessVSAvoidtask establishment complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent performs preliminary classification of data access modes (read/write) during task creation and stores this information in advance in the task information table, so that data access correctness is ensured without requiring complex real-time determination logic during task establishment or execution

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20250224983A1Task Scheduling Method and Electronic Apparatus
Publication Date: 2025.07.10 HUAWEI TECH CO LTD
  • US20250224983A1 patent drawing
  • US20250224983A1 patent drawing
  • US20250224983A1 patent drawing

AI summary

A task scheduling method includes creating, based on data variables included in multiple tasks and a dependency relationship between tasks among the tasks in terms of data variables, a task information table including the tasks, and creating a data variable table corresponding to the task information table, and scheduling, based on the task information table and the data variable table, the tasks to arithmetic units in a processing element array for execution. The task information table records task information of each of the tasks including a task identifier of each task, a quantity of previous tasks on which each task depends, and an identifier of a task depending on each task.