Automated Parallel Computation Graph Partitioning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for parallelizing computation graphs require significant user input and are prone to errors, as they rely on users to satisfy input requirements, which can lead to inconsistencies and reduced computational throughput.

Innovation Solution

An automated method for specifying and parallelizing computation graphs, where data processing elements and linking elements are characterized based on metadata, allowing for the determination of data flow characteristics and the use of partition and gather elements to ensure functional equivalence between serial and parallel execution, thereby simplifying the process and increasing throughput.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If manual methods are used to parallelize computation graphs, then user control and customization are improved, but the complexity of the process increases and errors are more likely

Engineering Contradiction:
Improveuser controlVSAvoidprocess complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system performs automatic parallelization without requiring user intervention. The computer automatically analyzes the computation graph, determines data flow characteristics, and generates parallel execution plans, making the system self-sufficient and eliminating manual configuration complexity

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces manual mechanical processes with automated computer-based analysis. Instead of users manually specifying parallelization parameters, the system uses automated algorithms to analyze computation graphs and determine optimal parallel execution strategies

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

2Adaptability or versatility

If manual specification of parallel computation graphs is used, then flexibility in configuration is improved, but reliability decreases due to user errors

Engineering Contradiction:
Improveconfiguration flexibilityVSAvoiderror rate
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system automatically verifies input requirements and checks for inconsistencies in the computation graph specification. By implementing automated verification feedback mechanisms, the system detects and corrects potential errors before execution, ensuring reliability while maintaining configuration flexibility

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent replaces error-prone manual specification with automated computer-based analysis and verification. The system automatically checks for consistency in data flow characteristics and input requirements, eliminating user errors while preserving the ability to configure complex parallel graphs

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

3Ease of manufacture

If serial execution is used, then simplicity of implementation is improved, but computational throughput decreases

Engineering Contradiction:
Improveimplementation simplicityVSAvoidcomputational throughput
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The system automatically segments the computation graph into parallel executable units by analyzing data flow characteristics and identifying independent computation paths. This segmentation enables multiple processors to execute different portions of the computation simultaneously, increasing throughput while maintaining implementation simplicity through automated analysis

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transforms the static serial execution plan into a dynamic parallel execution plan by automatically determining data flow characteristics and generating adaptive parallelization strategies. The system dynamically adjusts the execution plan based on the analyzed characteristics of the computation graph

Inventive Principle:
Principle #15Dynamics

4Productivity

If automated parallelization is implemented, then productivity increases through parallel execution, but the complexity of determining data flow characteristics increases

Engineering Contradiction:
Improvecomputational throughputVSAvoidanalysis complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent replaces complex manual analysis with automated computer-based algorithms that systematically determine data flow characteristics. The automated system efficiently analyzes computation graphs, identifies parallel execution opportunities, and generates execution plans without requiring complex manual intervention

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

Solution Approach 2:

The system performs self-analysis of the computation graph to automatically determine data flow characteristics and generate parallel execution plans. By making the analysis process self-service and automated, the system increases productivity through parallel execution while managing analysis complexity through systematic algorithms

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8059125B2Computer-aided parallelizing of computation graphs
Publication Date: 2011.11.15 AB INITIO TECHNOLOGY LLC
  • US8059125B2 patent drawing
  • US8059125B2 patent drawing
  • US8059125B2 patent drawing

AI summary

An approach to automatically specifying, or assisting with the specification of, a parallel computation graph involves determining data processing characteristics of the linking elements that couple data processing elements of the graph. The characteristics of the linking elements are determined according to the characteristics of the upstream and/or downstream data processing elements associated with the linking element, for example, to enable computation by the parallel computation graph that is equivalent to computation of an associated serial graph.