Neural Network Metadata Tagging for Load Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Deep neural networks (DNNs) face significant computational challenges due to their serial nature, leading to performance issues and inefficiencies in training, especially with deeper networks, as existing layer-fusion techniques are complex, error-prone, and not intuitive, and do not leverage dynamic edits like pruning effectively.

Innovation Solution

The method involves tagging computation kernels, neurons, and layers with metadata to expose the entire computational graph to a hardware scheduler, enabling intelligent load balancing and predicting computational complexity, allowing for opportunistic parallelism and efficient job scheduling across resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If layer-fusion is used to expose multiple layers to simultaneous computation, then parallelism is improved, but device complexity increases and the approach becomes error-prone

Engineering Contradiction:
ImproveparallelismVSAvoidcomplexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system automatically identifies and fuses layers that benefit from parallel execution without requiring explicit programmer intervention. The compiler autonomously analyzes the computational graph, determines fusion opportunities, and generates optimized code, making the system self-optimizing rather than manually configured.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The compiler performs static analysis of the entire computational graph beforehand to identify layers with sufficient computational demands and determine optimal fusion opportunities. This preliminary analysis enables the system to prepare fusion strategies in advance rather than making opportunistic decisions during execution.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If the entire computational graph is exposed to the compiler for layer-fusion, then parallelism is improved, but ease of operation deteriorates due to programming difficulty

Engineering Contradiction:
ImproveparallelismVSAvoidease of programming
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The compiler automatically performs the complex task of analyzing the computational graph and identifying fusion opportunities without requiring the programmer to manually specify fusion points or expose the entire graph structure. The system handles the complexity internally while maintaining simple user interfaces.

Inventive Principle:
Principle #25Self-service

3Device complexity

If traditional load balancing is used without metadata, then device complexity is reduced, but measurement precision deteriorates due to inability to predict computational complexity

Engineering Contradiction:
ImprovesimplicityVSAvoidcomputational complexity prediction
Core Design Contradiction:
Device complexityVSMeasurement precision

Solution Approach 1:

The system attaches metadata parameters to computational kernels that encode information about computational complexity, data dimensions, and operation types. These parameters enable the load balancer to make informed scheduling decisions based on quantitative metrics rather than simple heuristic rules.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11880715B2Method and system for opportunistic load balancing in neural networks using metadata
Publication Date: 2024.01.23 ONESTA IP LLC
  • US11880715B2 patent drawing
  • US11880715B2 patent drawing
  • US11880715B2 patent drawing

AI summary

Methods and systems for load balancing in a neural network system using metadata are disclosed. Any one or a combination of one or more kernels, one or more neurons, and one or more layers of the neural network system are tagged with metadata. A scheduler detects whether there are neurons that are available to execute. The scheduler uses the metadata to schedule and load balance computations across compute resources and available resources.