Tuple Graph Subgraph Partitioning for Distributed Computing Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current programming models for cloud computing face challenges in achieving efficient distributed computation due to performance issues related to data proximity and transfer costs, particularly in executing distributed low-latency non-batch programs.

Innovation Solution

A new programming model that constructs a program as a directed acyclic graph of operators, allowing operators to run on different machines, with automatic location assignment and graph partitioning to minimize network traffic and optimize execution, using techniques like sharding and pipelining to enhance latency and data efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If operators are distributed across different machines in cloud computing, then computing efficiency and resource utilization are improved, but network traffic and data transfer costs increase

Engineering Contradiction:
Improvecomputing efficiencyVSAvoidnetwork traffic
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent segments the computation graph into multiple subgraphs and distributes them across different machines. Each subgraph is executed independently on a separate machine, allowing parallel processing while minimizing cross-machine data transfer. The segmentation is performed in two phases: main partitioning that divides the overall graph, and local partitioning that further optimizes each subgraph.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality optimization by performing local partitioning on each subgraph after main partitioning. This ensures that operations within each subgraph are optimized for their specific machine context, reducing local data transfer requirements and improving computing efficiency on each individual machine.

Inventive Principle:
Principle #3Local quality

2Productivity

If data is transferred between computation units in distributed systems, then processing capability is improved, but latency increases

Engineering Contradiction:
Improveprocessing capabilityVSAvoidlatency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent performs preliminary actions by pre-assigning locations to operations during the partitioning phase, before actual execution. The main partitioning algorithm determines the optimal machine for each subgraph in advance, and this assignment is stored and used during execution. This eliminates the need for dynamic location decisions during runtime, reducing latency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary partitioning algorithm that acts as a mediator between the computation graph and the distributed system. This algorithm determines the optimal distribution of subgraphs across machines, balancing processing capability requirements with latency minimization by considering data locality and communication patterns.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If the computation graph is partitioned into more subgraphs, then parallel execution is improved, but the complexity of location assignment increases

Engineering Contradiction:
Improveparallel executionVSAvoidlocation assignment complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the location assignment process into two distinct phases: main partitioning that divides the overall graph into subgraphs and assigns them to different machines, and local partitioning that optimizes each subgraph independently. This segmentation of the assignment process reduces overall complexity compared to a single monolithic partitioning approach.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial action by performing location assignment in stages rather than all at once. The main partitioning phase assigns subgraphs to machines, and then local partitioning phases refine assignments within each subgraph. This staged approach makes the complex location assignment problem more manageable and computationally feasible.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentEP3616057B1Method for intra-subgraph optimization in tuple graph programs
Publication Date: 2023.07.26 GOOGLE LLC
  • EP3616057B1 patent drawingFigure 1
  • EP3616057B1 patent drawingFigure 2A~2B
  • EP3616057B1 patent drawingFigure 3

AI summary

A programming model generates a graph for a program, the graph including a plurality of nodes and edges, wherein each node of the graph represents an operation and edges between the nodes represent streams of data input to and output from the operations represented by the nodes. The model determines where in a distributed architecture to execute the operations represented by the nodes. Such determining may include determining which nodes have location restrictions, assigning locations to each node having a location restriction based on the restriction, and partitioning the graph into a plurality of subgraphs, the partitioning including assigning locations to nodes without location restrictions in accordance with a first set of constraints, wherein each node within a particular subgraph is assigned to the same location. Each of the subgraphs is executed at its assigned location in a respective single thread.