Deadlock-Free Neural Network Task Graph Scheduling on Multi-Core Processors

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The asynchronous behavior of neural elements in a neural network on a multi-core processor leads to irregular execution and inter-core communication patterns, necessitating message buffers to avoid deadlock while minimizing storage space.

Innovation Solution

A method is proposed to map a task graph representing a neural network onto a multi-core processor by prioritizing nodes and edges, assigning these priorities to processor cores and NoC links, and using input buffers with capacities exceeding the sum of back-edge bounds to prevent deadlock.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If message buffers are increased in capacity to avoid deadlock, then system reliability improves, but storage space requirements increase

Engineering Contradiction:
Improvedeadlock avoidanceVSAvoidbuffer storage space
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent applies preliminary action by assigning priorities to nodes and edges in the task graph before execution, and by determining buffer capacities in advance based on back-edge bounds. This allows the system to prevent deadlock conditions before they occur rather than reacting to them, enabling modest buffer sizes to suffice when combined with the priority-based scheduling mechanism.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes parameters by introducing priority values for nodes and edges, and by calculating specific buffer capacity values based on back-edge bounds. These parameter assignments transform the scheduling problem into a prioritized execution model where resources are allocated dynamically based on priority levels rather than requiring uniformly large buffers for all tasks.

Inventive Principle:
Principle #35Parameter changes

2Device complexity

If buffer capacity is minimized to reduce storage costs, then device complexity decreases, but the risk of deadlock increases

Engineering Contradiction:
Improvebuffer capacityVSAvoiddeadlock freedom
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent transforms the buffer capacity problem by assigning priority parameters to nodes and edges and calculating minimum buffer capacities based on back-edge bounds. This parameter-based approach allows modest buffer sizes to prevent deadlock when combined with priority-aware scheduling, resolving the contradiction between small buffers and deadlock freedom.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent introduces priority assignments as an intermediary mechanism between task dependencies and buffer allocation. By mediating through priority levels and back-edge bound calculations, the system can allocate minimal buffers while maintaining deadlock freedom, as the priority mechanism coordinates resource usage without requiring large buffer capacities.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If priorities are assigned to all nodes and edges with strict ordering, then deadlock is prevented, but computational overhead increases

Engineering Contradiction:
Improvedeadlock preventionVSAvoidscheduling complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent reduces computational overhead by performing priority assignments and buffer capacity calculations in advance, before task execution begins. This preliminary action eliminates the need for complex real-time decisions during execution, as the priority-based scheduling rules are predetermined and can be executed with simple comparisons.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent simplifies the scheduling complexity by transforming it into a parameter assignment problem. By defining priority values and buffer capacities as static parameters determined beforehand, the system replaces complex runtime scheduling algorithms with simple parameter-based decision rules that are computationally efficient.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS20250053443A1Deadlock-free scheduling of a task graph on a multi-core processor
Publication Date: 2025.02.13 SNAP INC
  • US20250053443A1 patent drawing
  • US20250053443A1 patent drawing
  • US20250053443A1 patent drawing

AI summary

Examples in the present disclosure relate to the mapping of a task graph specifying a neural network on a multi-core processor. The multi-core processor exchanges messages in a message exchange network on chip (NoC). The task graph has a plurality of nodes interconnected by directed edges. For each node, a priority is assigned to the node and the node is assigned to a particular processor core of the multi-core processor. For each directed edge, a priority is assigned to the directed edge and the directed edge is assigned to an acyclic NoC path. The priority assigned to each node is a highest one of one or more priorities assigned to one or more of the directed edges that are incoming edges of the node. The priority assigned to each directed edge of the directed edges exceeds the priority of the node from which the directed edge is outgoing.