Sharding Synchronous Processors for Tile Load Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing compiler techniques struggle to optimize the performance of synchronous integrated circuit accelerators, particularly in systems with multiple tiles arranged in a linear array, due to limitations in scheduling operations and managing resource constraints.

Innovation Solution

The described techniques involve advanced sharding methods such as sublayer sharding, parallelogram time slicing, oversharding, and zigzag sharding to optimize the allocation of matrix operations across multiple synchronous tiles, thereby improving performance and load balancing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional compiler techniques are used for scheduling operations on multiple synchronous tiles, then the implementation is simple, but the performance optimization is insufficient

Engineering Contradiction:
Improveperformance of synchronous integrated circuit acceleratorVSAvoidscheduling complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies segmentation by dividing the computational task into fine-grained operations that can be independently scheduled across multiple synchronous tiles. Each tile is assigned specific segments of the computation graph, enabling parallel execution while maintaining simplicity through systematic division rather than complex coordination.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The compiler performs preliminary scheduling actions by pre-computing and assigning operations to specific tiles before execution. This includes determining the execution order of tiles, allocating data to appropriate tiles, and preparing the computation graph in advance, which optimizes performance without requiring complex runtime decision-making.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If operations are scheduled with fine-grained precision at cycle level, then the performance and load balancing improve, but the scheduling complexity increases

Engineering Contradiction:
Improveutilization of compute tilesVSAvoidscheduling precision requirements
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent changes the scheduling parameter from coarse-grained task-level scheduling to fine-grained cycle-level scheduling. This involves breaking down operations into atomic cycles and assigning them to specific tiles with precise timing, which maximizes tile utilization and enables optimal load balancing across the synchronous array.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If sharding techniques are applied to distribute operations across tiles, then load balancing improves, but the data communication requirements increase

Engineering Contradiction:
Improveload balancing among tilesVSAvoiddata communication overhead
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The computation and data are segmented and distributed across multiple tiles in a way that minimizes communication. By dividing the computation graph into segments that can be executed in parallel on different tiles, the system achieves load balancing while reducing the need for extensive data movement between tiles.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary scheduling layer that coordinates data movement between tiles. This intermediary mechanism manages the communication overhead by intelligently routing data only when necessary, rather than requiring all tiles to communicate with each other, thus reducing overall communication complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Productivity

If multiple sharding methods are used to optimize different aspects of performance, then the overall performance improves, but the compiler complexity increases

Engineering Contradiction:
Improveoverall performance of acceleratorVSAvoidcompiler complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements a universal scheduling framework that can handle multiple sharding methods and optimization techniques within a single compiler pass. This multi-functional approach allows the same scheduling infrastructure to support various sharding strategies (e.g., row-major, column-major, diagonal) without requiring separate complex implementations for each method.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS20250045032A1Sharding for synchronous processors
Publication Date: 2025.02.06 GOOGLE LLC
  • US20250045032A1 patent drawing
  • US20250045032A1 patent drawing
  • US20250045032A1 patent drawing

AI summary

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for sharding dataflow graphs for a device having multiple synchronous tiles. One of the methods includes receiving a representation of a dataflow graph comprising a plurality of nodes that each represent respective matrix operations to be performed by a device having a plurality synchronous tiles. Candidate allocations of respective portions of the dataflow graph to each tile of the plurality of synchronous tiles are evaluated according to one or more resource constraints of the device. One of the candidate allocations is selected based on evaluating each candidate allocation.