Global-Timestamp Hardware Event Tracing Across Distributed CPUs and GPUs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Effective performance analysis of distributed software executing across multiple Central Processing Units (CPUs) or Graphics Processing Units (GPUs) is complex due to the lack of efficient methods for synchronized collection and correlation of hardware performance data across these units.

Innovation Solution

A computing system that monitors program code execution across distributed processor units, using global time counters and hardware triggers to initiate synchronized trace events, generating correlated trace data with timestamps for enhanced performance analysis.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If hardware event traces are collected from multiple distributed processor units independently, then the quantity of trace data increases for comprehensive analysis, but the complexity of correlating and synchronizing events across units increases significantly

Engineering Contradiction:
Improvetrace dataVSAvoidevent correlation complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

A global time counter serves as an intermediary mechanism that provides a common reference frame for all distributed processor units. Each unit attaches its global timestamp to local hardware events, enabling external systems to correlate events across units without complex inter-unit communication protocols.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system pre-establishes a synchronized global time reference before trace collection begins. By having all processor units already synchronized to the same time base, the system eliminates the need for complex post-collection timestamp alignment and event correlation algorithms.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If trace events are initiated continuously to capture all hardware events, then measurement precision improves, but memory usage increases due to large volumes of trace data

Engineering Contradiction:
Improveevent capture precisionVSAvoidmemory usage
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

Instead of continuous trace event initiation, the system uses periodic triggers based on global timestamps. Trace events are initiated only when specific timestamp-based conditions are met, such as when a particular time window is entered or when predetermined timestamp values are reached, reducing the frequency of trace data generation while maintaining measurement precision for critical events.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The system changes the parameter of trace event initiation from continuous to conditional based on timestamp values. By monitoring global time counter values and initiating traces only when predetermined time-based conditions are satisfied, the system reduces the volume of trace data while preserving precision for time-critical measurements.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If multiple processor units operate independently to execute distributed code, then processing speed improves, but the difficulty of detecting and measuring synchronized events increases

Engineering Contradiction:
Improveprocessing speedVSAvoidsynchronized event detection
Core Design Contradiction:
ProductivityVSDifficulty of detecting and measuring

Solution Approach 1:

The global time counter acts as a mediator that all independently operating processor units reference for synchronization. Each unit records its local events with the current global timestamp, allowing external analysis of synchronized events without requiring direct communication or coordination between the independent processor units during execution.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP3382552B1Synchronous hardware event collection
Publication Date: 2025.07.02 GOOGLE LLC
  • EP3382552B1 patent drawingFigure 1
  • EP3382552B1 patent drawingFigure 2
  • EP3382552B1 patent drawingFigure 3

AI summary

A computer-implemented method that includes monitoring execution of program code by first and second processor components. A computing system detects that a trigger condition is satisfied by: i) identifying an operand in a portion of the program code; or ii) determining that a current time of a clock of the computing system indicates a predefined time value. The operand and the predefined time value are used to initiate trace events. When the trigger condition is satisfied the system initiates trace events that generate trace data identifying respective hardware events occurring across the computing system. The system uses the trace data to generate a correlated set of trace data. The correlated trace data indicates a time ordered sequence of the respective hardware events. The system uses the correlated set of trace data to analyze performance of the executing program code.