Computation Graph Partitioning for ML Pipeline Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Manual partitioning of computation graphs in execution pipelines for machine learning models is time-consuming, error-prone, and leads to inefficiencies due to uneven computational load between stages, especially when dealing with large-scale models and limited memory resources.

Innovation Solution

A computer-implemented method using a constraint solver to automatically partition a computation graph into ordered stages of an execution pipeline, balancing execution costs by encoding various factors into constraints, such as execution cycles, energy use, and memory requirements, thereby optimizing the distribution of computational tasks across machines.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If manual partitioning is used to divide computation graph into stages, then partitioning can be performed with simple tools, but the process is time-consuming and leads to uneven computational load distribution

Engineering Contradiction:
Improveease of partitioningVSAvoidpartitioning speed
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The system automatically partitions the computation graph by representing it as a directed acyclic graph and using a constraint solver to compute optimal stage divisions. The partitioning is performed self-service through algorithmic automation rather than manual intervention, with the constraint solver automatically balancing computational load and determining stage boundaries based on the graph structure and execution costs.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent transforms the partitioning problem into a constraint satisfaction problem by changing parameters such as execution cost, memory requirements, and computational load into formal constraints. The constraint solver processes these parameter transformations to generate optimized partitions that would be impossible to achieve manually, resolving the contradiction between ease of manual partitioning and productivity.

Inventive Principle:
Principle #35Parameter changes

2Device complexity

If manual partitioning is used, then the process requires minimal computational resources, but it leads to inefficient execution due to uneven load distribution

Engineering Contradiction:
Improvesystem complexityVSAvoidexecution efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent replaces manual mechanical partitioning processes with an automated constraint solving system. Instead of manually analyzing and dividing computation graphs, the system uses algorithmic constraint solvers that automatically process the computation graph representation, apply constraints based on execution costs and memory requirements, and generate optimal partitions. This substitution of mechanical manual work with automated computational processes resolves the contradiction between system complexity and execution efficiency.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Adaptability or versatility

If more stages are created in the execution pipeline, then parallelization and scalability are improved, but the complexity of managing and balancing computational load increases

Engineering Contradiction:
ImprovescalabilityVSAvoidpipeline management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the computation graph into discrete stages based on dependency relationships and execution costs. By representing the computation as a directed acyclic graph and identifying natural segmentation points, the system creates manageable stages that can be independently executed in parallel. This segmentation approach enables scalability while keeping management complexity controlled through systematic division rather than arbitrary splitting.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The constraint solver dynamically adjusts the number and configuration of stages based on the specific computation graph and available resources. Rather than using a fixed number of stages, the system adaptively determines the optimal stage division by processing constraints related to execution costs, memory requirements, and computational load. This dynamic adaptation enables scalability while managing complexity through automated adjustment rather than manual configuration.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS20250005455A1Partitioning for an execution pipeline
Publication Date: 2025.01.02 MICROSOFT TECHNOLOGY LICENSING LLC
  • US20250005455A1 patent drawing
  • US20250005455A1 patent drawing
  • US20250005455A1 patent drawing

AI summary

A computation graph of a machine learning model is accessed from memory and a constraint solver is used to compute a partition of the computation graph into ordered stages of an execution pipeline. In use, when inference or training of the machine learning model takes place by executing the pipeline, execution cost of the stages are balanced according to the computed partition.