Tag-Based Synchronization for ML Task Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current hardware-based machine learning systems face performance losses due to heavy-weight synchronization processes, where tasks wait for all prior tasks to complete, even if they don't depend on them, leading to idle processing tiles and reduced efficiency.

Innovation Solution

A tag-based synchronization scheme is introduced, where tasks are tagged and stored in a table, allowing only dependent tasks to wait for specific prior tasks to finish, eliminating the need to wait for all prior tasks, and optimizing processing tile utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the instruction streaming engine uses default synchronization mode to hold instructions and wait for all prior tasks to complete, then synchronization reliability is improved, but processing tile utilization deteriorates and wait time increases

Engineering Contradiction:
Improvesynchronization reliabilityVSAvoidprocessing tile utilization
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the synchronization process by introducing tag-based identification. Instead of treating all prior tasks uniformly, the system divides them into relevant and irrelevant tasks based on tag matching. This allows the instruction streaming engine to selectively wait only for tasks with matching tags, rather than waiting for all prior tasks, thus improving processing tile utilization while maintaining synchronization reliability for dependent tasks.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces tags as an intermediary mechanism to mediate between tasks and the synchronization process. Tags serve as identifiers that link dependent tasks to their specific prior tasks. This intermediary allows the system to determine which prior tasks need to be waited for, enabling selective synchronization that improves productivity while preserving the reliability of necessary synchronization points.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the instruction streaming engine waits for all prior tasks to complete before sending current task instructions, then synchronization correctness is improved, but execution speed deteriorates

Engineering Contradiction:
Improvesynchronization correctnessVSAvoidexecution speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent segments the set of prior tasks into two categories: tasks with matching tags that must be completed before the current task, and tasks without matching tags that can be executed independently. This segmentation allows the instruction streaming engine to skip waiting for irrelevant tasks, significantly improving execution speed while maintaining synchronization correctness for dependent tasks through tag-based identification.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies preliminary action by pre-assigning tags to tasks during task generation or registration. This preliminary tagging allows the instruction streaming engine to quickly identify which prior tasks are relevant to the current task without needing to analyze task dependencies in real-time. The pre-established tag relationships enable faster synchronization decisions and improve execution speed while preserving correctness.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If heavy-weight synchronization is used to ensure all prior tasks complete, then task dependency reliability is improved, but time consumption deteriorates

Engineering Contradiction:
Improvetask dependency reliabilityVSAvoidwait time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the synchronization requirement into tag-matched tasks that must be waited for and tag-unmatched tasks that can proceed independently. This segmentation transforms the heavy-weight synchronization process into a lightweight selective waiting mechanism. The instruction streaming engine only incurs wait time for tasks with matching tags, dramatically reducing total wait time while maintaining task dependency reliability through the tag matching mechanism.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent uses tags as an intermediary to reduce the overhead of synchronization. Instead of implementing complex dependency analysis or waiting for all prior tasks, the tag intermediary provides a simple matching mechanism that quickly identifies which prior tasks are relevant. This intermediary approach maintains task dependency reliability while minimizing time loss by avoiding unnecessary waiting for irrelevant tasks.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11842197B2System and methods for tag-based synchronization of tasks for machine learning operations
Publication Date: 2023.12.12 MARVELL ASIA PTE LTD
  • US11842197B2 patent drawing
  • US11842197B2 patent drawing

AI summary

A new approach for supporting tag-based synchronization among different tasks of a machine learning (ML) operation. When a first task tagged with a set tag indicating that one or more subsequent tasks need to be synchronized with it is received at an instruction streaming engine, the engine saves the set tag in a tag table and transmits instructions of the first task to a set of processing tiles for execution. When a second task having an instruction sync tag indicating that it needs to be synchronized with one or more prior tasks is received at the engine, the engine matches the instruction sync tag with the set tags in the tag table to identify prior tasks that the second task depends on. The engine holds instructions of the second task until these matching prior tasks have been completed and then releases the instructions to the processing tiles for execution.