Proxy Node for Control Dependency Partitioning in ML Graphs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional homogeneous computing architectures fail to meet the increasing computing power and diversity needs of complex neural network models, particularly due to challenges in partitioning control dependency edges for parallel execution on multiple accelerators, leading to errors and debugging difficulties.

Innovation Solution

The method involves partitioning the computation graph at control dependency edges by inserting proxy, send, and receive nodes between nodes, allowing for efficient partitioning and execution of neural network models across multiple accelerators, reducing errors and improving inference performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a neural network model is partitioned and assigned onto multiple accelerators for parallel execution, then computing power and execution speed are improved, but challenges arise in maintaining control dependency between operations

Engineering Contradiction:
Improvecomputing powerVSAvoidcontrol dependency maintenance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The computation graph is segmented into multiple subgraphs that can be executed in parallel on different accelerators. Each subgraph represents an independent computational unit, allowing parallel execution while maintaining control dependencies through the proxy node mechanism.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A proxy node is introduced as an intermediary between the first node and second node across different accelerators. The proxy node receives control dependencies from the first node and forwards them to the second node, ensuring control dependency maintenance during parallel execution.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If control dependency edges are partitioned for parallel execution, then execution efficiency is improved, but errors and debugging difficulties increase

Engineering Contradiction:
Improveexecution efficiencyVSAvoiddebugging difficulty
Core Design Contradiction:
ProductivityVSDifficulty of detecting and measuring

Solution Approach 1:

The proxy node serves as a mediator that maintains control dependency information across partition boundaries. It receives control dependencies from nodes in one accelerator and forwards them to corresponding nodes in other accelerators, ensuring correct execution order and reducing debugging complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The proxy node is designed with a uniform structure that mirrors the original node interface. This homogeneity allows control dependencies to be handled consistently across different accelerators, making the system easier to debug and maintain.

Inventive Principle:
Principle #33Homogeneity

3Reliability

If proxy nodes are inserted to maintain control dependencies, then reliability of parallel execution is improved, but device complexity increases

Engineering Contradiction:
Improveparallel execution reliabilityVSAvoidcomputation graph complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The control dependency management functionality is extracted into separate proxy nodes, isolating the complexity from the original computation graph nodes. This allows the core computational nodes to remain simple while the proxy nodes handle the complexity of inter-accelerator control dependencies.

Inventive Principle:
Principle #2Taking out (Extraction)

4Adaptability or versatility

If computation graph is partitioned across multiple accelerators, then diversity of computing capabilities is improved, but coordination overhead between accelerators increases

Engineering Contradiction:
Improvecomputing capability diversityVSAvoidcoordination overhead
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The proxy node acts as an intermediary that abstracts the coordination complexity between diverse accelerators. It handles the communication and control dependency forwarding between different accelerator types, allowing each accelerator to operate independently while maintaining overall system coordination.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11694075B2Partitioning control dependency edge in computation graph
Publication Date: 2023.07.04 CLOUD INTELLIGENCE ASSETS HOLDING (SINGAPORE) PTE LTD
  • US11694075B2 patent drawing
  • US11694075B2 patent drawing
  • US11694075B2 patent drawing

AI summary

The present disclosure relates to a method for adapting a computation graph of a machine learning model. The method comprises partitioning the computation graph at an edge between a first node and a second node, wherein the edge is a control dependency edge. The method further comprises inserting a proxy node, a send node, and a receive node between the first node and the second node. The proxy node is connected to the first node, the send node is configured to receive output data from the proxy node, and the receive node is configured to receive the output data from the send node.