Multicore Neural Thread Scheduling Without a Centralized Scheduler

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing neural network processing in multicore processors is inefficient due to hardware limitations, such as pin-limited memory access and computational complexity, leading to high energy consumption and inefficiencies in handling large and complex neural networks, especially in embedded device implementations.

Innovation Solution

The proposed solution involves a thread-based scheduling method within multicore neural network processors, utilizing a scoreboard to manage thread dependencies, a ready queue to identify unblocked threads, and asynchronous communication between cores to decouple processing and reduce data path dependencies, enabling efficient parallelism and low-power operation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If general-purpose programming environments are used to emulate neural networks, then implementation ease is improved, but processing efficiency deteriorates due to hardware limitations and compiler design

Engineering Contradiction:
Improveimplementation easeVSAvoidprocessing efficiency
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The system segments neural network processing into multiple independent threads that can be executed in parallel across multiple cores. Each thread represents a discrete computational unit that can be scheduled independently, allowing the system to maintain implementation simplicity while achieving high processing efficiency through parallel execution.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a scoreboard as an intermediary data structure that manages thread execution state and dependencies. This scoreboard acts as a mediator between the general-purpose programming environment and the underlying hardware, translating high-level neural network operations into efficient parallel execution while maintaining ease of implementation.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Device complexity

If pin-limited memory access is used in multicore processors, then device complexity is reduced, but energy consumption increases due to memory access overhead

Engineering Contradiction:
Improvedevice complexityVSAvoidenergy consumption
Core Design Contradiction:
Device complexityVSUse of energy by moving object

Solution Approach 1:

The system performs preliminary actions by pre-fetching and caching data into local memory buffers before it is needed for computation. This allows threads to access data from fast local memory rather than repeatedly accessing external memory through pin-limited interfaces, reducing energy consumption while maintaining simple device architecture.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a new dimension of memory hierarchy by implementing local memory buffers at each core. This creates a multi-level memory architecture where data can be accessed locally or externally, reducing the frequency of pin-limited memory accesses and lowering energy consumption without increasing overall device complexity.

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

3Productivity

If thread-based scheduling with scoreboard is implemented, then processing efficiency is improved through parallelism, but device complexity increases

Engineering Contradiction:
Improveprocessing efficiencyVSAvoiddevice complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The scoreboard is designed as a universal data structure that serves multiple functions: tracking thread execution state, managing data dependencies, coordinating inter-core communication, and optimizing memory access. This multi-functionality allows the system to achieve high processing efficiency through parallelism while minimizing the additional device complexity required.

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

4Productivity

If asynchronous communication between cores is used, then productivity is improved by decoupling processing, but loss of information increases due to synchronization challenges

Engineering Contradiction:
ImproveproductivityVSAvoidsynchronization information
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The scoreboard implements a feedback mechanism where each core continuously reports its execution state and data dependency status to the scheduling system. This feedback allows the system to maintain accurate synchronization information despite asynchronous communication between cores, preventing information loss while enabling high productivity through decoupled processing.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11783169B2Methods and apparatus for thread-based scheduling in multicore neural networks
Publication Date: 2023.10.10 FEMTOSENSE INC
  • US11783169B2 patent drawing
  • US11783169B2 patent drawing
  • US11783169B2 patent drawing

AI summary

Systems, apparatus, and methods for thread-based scheduling within a multicore processor. Neural networking uses a network of connected nodes (aka neurons) to loosely model the neuro-biological functionality found in the human brain. Various embodiments of the present disclosure use thread dependency graphs analysis to decouple scheduling across many distributed cores. Rather than using thread dependency graphs to generate a sequential ordering for a centralized scheduler, the individual thread dependencies define a count value for each thread at compile-time. Threads and their thread dependency count are distributed to each core at run-time. Thereafter, each core can dynamically determine which threads to execute based on fulfilled thread dependencies without requiring a centralized scheduler.