Inter-thread Trace Alignment for Multi-threaded DSP Debugging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current debugging systems for multi-threaded digital signal processors lack the ability to non-intrusively align inter-thread timing relationships, which is essential for effective debugging and performance monitoring in complex telecommunications and software applications.

Innovation Solution

The implementation of an inter-thread trace alignment method and system that records timing data related to a common event, such as the number of cycles since thread initiation, to synchronize and align timing data across different threads, allowing for the reconstruction of interdependent execution tracing information and maintaining timing relationships between threads.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If execution tracing is performed on multiple threads simultaneously in a multi-threaded DSP, then debugging capability is improved, but timing alignment between threads cannot be established

Engineering Contradiction:
Improvedebugging capabilityVSAvoidtiming relationship information
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The patent introduces a global cycle counter as an intermediary mechanism that all threads reference to establish timing relationships. The cycle counter serves as a common time base that mediates between independent thread executions, allowing the debugging system to correlate events across threads without interfering with their independent execution flows.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces the need for complex hardware synchronization mechanisms with a software-based timing correlation approach. By using cycle counts recorded in trace packets, the system substitutes mechanical/hardware timing alignment with a computational method that reconstructs timing relationships during trace analysis.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Ease of operation

If thread-specific trace information is recorded independently, then thread debugging is simplified, but inter-thread timing relationships are lost

Engineering Contradiction:
Improvethread debuggingVSAvoidinter-thread timing relationship
Core Design Contradiction:
Ease of operationVSLoss of information

Solution Approach 1:

The patent segments trace information into thread-specific components while embedding a common reference element (cycle count) in each segment. This allows independent processing of thread traces while preserving the ability to reconstruct inter-thread timing relationships through the shared cycle count reference.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent adds a temporal dimension (cycle count) to the trace data structure that transcends individual thread boundaries. This additional dimension allows timing relationships to be reconstructed by correlating events across threads based on their respective cycle counts, effectively adding a global time axis to previously independent thread traces.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Measurement precision

If a global cycle counter is used for timing reference, then inter-thread alignment is enabled, but trace packet size increases

Engineering Contradiction:
Improvetiming alignment precisionVSAvoidtrace packet data volume
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent implements partial recording of cycle count information by only including it in synchronization packets or select trace packets rather than every packet. This selective approach provides sufficient timing reference information for alignment while minimizing the increase in overall trace data volume.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS8484516B2Inter-thread trace alignment method and system for a multi-threaded processor
Publication Date: 2013.07.09 QUALCOMM INC
  • US8484516B2 patent drawing
  • US8484516B2 patent drawing
  • US8484516B2 patent drawing

AI summary

Techniques for the design and use of a digital signal processor, including (but not limited to) for processing transmissions in a communications (e.g., CDMA) system. Inter-thread trace alignment with execution trace processing includes recording timing data relating to a common predetermined event. Such an event may be the number of cycles since a last thread initiated execution tracing or the number of cycles since all threads terminated execution tracing. The number of cycles at which a thread initiates execution tracing is referenced to the common predetermined event for maintaining the timing of execution tracing. The data relating to the common predetermined event is then updated to associate with the time at which the thread initiated execution tracing. The result is to permit aligning the timing data associated with all threads. Interrelated records permit reconstructing interdependent execution tracing information for threads operating in the multi-threaded processor, as well as synchronizing timing data for all operating threads.