Sync Trace Circuitry for Barrier Synchronization Timing Analysis
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multi-tile processing units, ensuring data consistency and preventing code on one processor from running ahead of dependent data from another processor requires effective synchronization mechanisms, particularly in complex machine intelligence applications where parallel processing is prevalent.
Innovation Solution
A device comprising a processing unit with a sync controller and sync trace circuitry that coordinates barrier synchronizations, exchanging sync messages to separate compute and exchange phases, and providing timing information for synchronization trace output.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If barrier synchronizations are implemented to ensure data consistency across multiple processors, then data consistency and reliability are improved, but processing time and system complexity increase
Solution Approach 1:
The sync trace circuitry is configured to capture synchronization timing information in advance during the barrier synchronization events, storing it in buffers before analysis. This preliminary capture of timing data allows post-processing analysis without adding delays to the actual synchronization operations, thus maintaining data consistency while minimizing processing time impact.
Solution Approach 2:
The patent introduces sync trace circuitry as an intermediary component that monitors and records barrier synchronization events without interfering with the critical data consistency mechanism. This intermediary captures timing information from sync messages exchanged between processors and the sync controller, enabling analysis of synchronization behavior while leaving the core synchronization protocol unchanged and efficient.
2Reliability
If barrier synchronizations are implemented to prevent code from running ahead of dependent data, then data consistency is improved, but device complexity increases
Solution Approach 1:
The sync trace circuitry is segmented into distinct functional blocks: a message reception interface that receives sync messages from processors, a timing capture unit that records timing information, and an output interface that provides the captured data for analysis. This segmentation allows each component to perform its function independently and efficiently, reducing the complexity of the overall synchronization mechanism while maintaining data consistency.
3Measurement precision
If timing information is captured for each sync message to enable synchronization analysis, then measurement precision is improved, but use of energy and device complexity increase
Solution Approach 1:
The sync trace circuitry utilizes the existing sync messages that are already being exchanged between processors and the sync controller for barrier synchronizations. Instead of generating separate timing signals or using additional hardware timers, the circuitry extracts timing information from the existing synchronization protocol messages, thereby achieving precise timing measurements without significant additional energy consumption.
Data Source
AI summary
A device comprising: a processing unit comprising at least one processor configured to: participate in barrier synchronisations, each of which separates a compute phase of the at least one processor from an exchange phase for the at least one processor; and exchange sync messages with a sync controller hardware unit so as to co-ordinate each of the barrier synchronisations; and sync trace circuitry configured to: receive one or more of the sync messages; and in response to each of the one or more of the sync messages, provide sync trace information for output from the device, the sync trace information comprising timing information associated with the respective sync message.


