Computational Graph Partitioning With Send-Receive Nodes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Neural networks require significant processing time due to the large number and size of operations, which can be exacerbated when distributed across multiple devices with varying hardware profiles, leading to inefficient communication and coordination burdens.

Innovation Solution

Modifying computational graphs by inserting send and receive nodes to compartmentalize operations across devices, allowing devices to communicate independently and reducing the need for centralized coordination, thus optimizing distributed processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If neural network operations are distributed across multiple devices, then processing throughput is improved, but communication coordination overhead increases

Engineering Contradiction:
Improveprocessing throughputVSAvoidcommunication coordination overhead
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces send and receive nodes as intermediary elements that mediate communication between devices. These nodes act as standardized interfaces that simplify the coordination process by providing a uniform mechanism for data transfer, reducing the complexity of direct peer-to-peer communication coordination between multiple devices.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The computational graph is segmented into subgraphs that can be independently allocated to different devices. Each subgraph is self-contained with explicit send and receive nodes that define communication boundaries, allowing devices to process segments independently while minimizing coordination overhead through clear interface definitions.

Inventive Principle:
Principle #1Segmentation

2Loss of time

If computational graph is partitioned across devices, then processing time is reduced, but network communication requirements increase

Engineering Contradiction:
Improveprocessing timeVSAvoidnetwork communication costs
Core Design Contradiction:
Loss of timeVSLoss of energy

Solution Approach 1:

The send and receive nodes are inserted during the graph partitioning phase, before execution. This preliminary structuring of communication interfaces allows the system to optimize data transfer paths and anticipate communication needs, reducing actual runtime network communication costs while maintaining parallel processing benefits.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If send and receive nodes are inserted for each cross-device edge, then device communication independence is improved, but computational graph complexity increases

Engineering Contradiction:
Improvedevice communication independenceVSAvoidcomputational graph complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent applies homogeneity by using uniform send and receive node structures for all cross-device communication edges. This standardized approach allows devices to communicate independently using the same interface pattern, improving adaptability while managing graph complexity through repetition of proven, simple communication primitives rather than custom communication logic for each device pair.

Inventive Principle:
Principle #33Homogeneity

Data Source

PatentUS12585947B2Modifying computational graphs
Publication Date: 2026.03.24 GOOGLE LLC
  • US12585947B2 patent drawing
  • US12585947B2 patent drawing
  • US12585947B2 patent drawing

AI summary

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for modifying a computational graph to include send and receive nodes. Communication between unique devices performing operations of different subgraphs of the computational graph can be handled efficiently by inserting send and receive nodes into each subgraph. When executed, the operations that these send and receive nodes represent may enable pairs of unique devices to conduct communication with each other in a self-sufficient manner. This shifts the burden of coordinating communication away from the backend, which affords the system that processes this computational graph representation the opportunity to perform one or more other processes while devices are executing subgraphs.