Dataflow Graph Layouts With Variable Parallelism and Pruned Propagation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional data processing systems using dataflow graphs assign uniform parallelism to all nodes, limiting efficiency and throughput by not accommodating varying degrees of parallelism required by different datasets.

Innovation Solution

Determine processing layouts for nodes in a dataflow graph using a forward and backward pass, allowing different degrees of parallelism for nodes based on layout determination rules, and perform repartitioning operations where necessary to adapt data flow between nodes with differing parallelism.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If uniform parallelism is assigned to all nodes in the dataflow graph, then system complexity is reduced and ease of operation is improved, but data processing speed and throughput are limited

Engineering Contradiction:
Improvedata processing speedVSAvoidprocessing layout determination complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system performs preliminary analysis during the layout determination phase to identify nodes that generate unused data (dead code). By detecting these nodes in advance and pruning their processing layouts, the system eliminates unnecessary computational overhead before execution, thereby improving data processing speed without adding runtime complexity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the dataflow graph into distinct processing regions based on data usage patterns. Nodes are classified into categories (e.g., nodes with used output, nodes with unused output) and assigned different processing layouts accordingly. This segmentation allows the system to apply variable parallelism to different segments, improving overall throughput while maintaining manageable complexity through localized optimization rules.

Inventive Principle:
Principle #1Segmentation

2Productivity

If variable degrees of parallelism are assigned to different nodes, then data processing throughput is improved, but system complexity increases

Engineering Contradiction:
Improvedata processing throughputVSAvoidprocessing layout determination complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system applies local quality by assigning different processing layout characteristics to different nodes based on their specific data usage patterns. Nodes that produce unused data are assigned simplified or pruned layouts, while nodes with critical downstream dependencies receive more robust parallel processing configurations. This localized differentiation improves throughput by optimizing each node's parallelism level according to its actual contribution to the final output.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent dynamically changes the parallelism parameter (degree of parallelism) for different nodes in the dataflow graph based on analyzed data usage patterns. By adjusting this key parameter locally rather than uniformly, the system achieves variable parallelism that adapts to the computational requirements of each node, thereby improving overall throughput while the automated analysis keeps the determination process manageable.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If processing layouts are propagated to all nodes in the dataflow graph, then consistent data processing is ensured, but computational overhead increases due to unnecessary layout propagation

Engineering Contradiction:
Improvecomputational efficiencyVSAvoidlayout determination time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system extracts and removes processing layout propagation for nodes that generate unused data (dead code nodes). By identifying these nodes and excluding them from the layout propagation process, the system eliminates unnecessary computational overhead in the layout determination phase. This extraction principle reduces the time and resources spent on analyzing and propagating layouts to nodes that will not contribute to the final output.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system performs preliminary identification of dead code nodes before initiating full layout propagation. By detecting nodes with unused output data in advance, the system can prune the propagation tree and avoid spending time analyzing and propagating layouts to these irrelevant nodes. This preliminary filtering action significantly reduces the overall layout determination time while maintaining consistency for all necessary nodes.

Inventive Principle:
Principle #10Preliminary action

4Adaptability or versatility

If repartitioning operations are performed to adapt data flow between nodes with differing parallelism, then data processing flexibility is improved, but operational complexity increases

Engineering Contradiction:
Improvedata flow adaptabilityVSAvoidprocessing operation simplicity
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The system introduces repartitioning operations as intermediary steps between nodes with different parallelism requirements. These intermediary operations act as adapters that transform data between different parallelism levels, enabling flexible data flow adaptation throughout the graph. While this adds operational steps, the automated insertion and management of these intermediaries keeps the overall system easy to operate, as users need not manually manage the complexity of parallelism transitions.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS12547468B2Systems and methods for performing data processing operations using variable level parallelism with pruned propagation
Publication Date: 2026.02.10 AB INITIO TECHNOLOGY LLC
  • US12547468B2 patent drawing
  • US12547468B2 patent drawing
  • US12547468B2 patent drawing

AI summary

Techniques for determining processing layouts to nodes of a dataflow graph. The techniques include: obtaining information specifying a dataflow graph, the dataflow graph comprising a plurality of nodes and a plurality of edges connecting the plurality nodes, the plurality of edges representing flows of data among nodes in the plurality of nodes, the plurality of nodes comprising: a first set of one or more nodes; and a second set of one or more nodes disjoint from the first set of nodes; obtaining a first set of one or more processing layouts for the first set of nodes; and determining a processing layout for each node in the second set of nodes based on the first set of processing layouts and one or more layout determination rules, the one or more layout determination rules including at least one rule for selecting among processing layouts having different degrees of parallelism, and information indicating that data generated by at least one node in the first and/or third set of nodes is not used by any nodes in the dataflow graph downstream from the at least one node.