Debug Trace Monitoring for Runtime Performance Deviation Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional computing systems lack the ability to monitor performance deviations and detect minute failures or degradations in hardware, software, and firmware components during runtime, especially in production systems, due to the limitations of existing debug tracing techniques that are only active during debug sessions and cannot measure timing of system processes.

Innovation Solution

Implementing a debug logic that manages trace information by adding timestamps to trace statements and using trace management logic to generate trace policies, compare waypoints with benchmark values, and initiate actions based on deviations, enabling continuous monitoring and detection of performance issues.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If debug tracing is only active during debug sessions via JTAG interface, then device complexity is reduced and ease of operation is maintained, but the ability to monitor performance deviations and detect failures during runtime is lost

Engineering Contradiction:
Improvedetection of performance deviationsVSAvoiddebug tracing infrastructure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The trace collector and trace aggregator logic are designed to serve multiple functions: they collect trace information during runtime for performance monitoring, store it in memory for later analysis, and enable both runtime detection and post-mortem debugging. This multi-functionality allows the system to maintain reliability improvements without proportionally increasing device complexity.

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

Solution Approach 2:

The system performs self-monitoring by automatically collecting trace information from various components, comparing it against benchmarks, and detecting deviations without external intervention. The trace management logic operates autonomously during runtime, enabling the system to monitor its own performance and detect failures independently.

Inventive Principle:
Principle #25Self-service

2Measurement precision

If debug traces are collected continuously during runtime, then detection capability is improved, but loss of information increases due to the volume of trace data generated

Engineering Contradiction:
Improvetiming measurement of system processesVSAvoidtrace data management
Core Design Contradiction:
Measurement precisionVSLoss of information

Solution Approach 1:

The patent extracts only the essential timing information from continuous trace data by comparing trace timestamps against benchmark values. Instead of retaining all raw trace data, the system extracts deviation information that indicates performance issues, thereby maintaining measurement precision while reducing information loss.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Benchmark trace information is prepared in advance and stored in memory before runtime monitoring begins. This preliminary preparation allows the system to immediately compare runtime traces against known good values, enabling precise timing measurements without the need to process and analyze all raw trace data during operation.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If trace information is stored in memory with timestamps, then productivity is improved through automated monitoring, but device complexity increases due to additional memory and processing requirements

Engineering Contradiction:
Improveautomated performance monitoringVSAvoidmemory and processing infrastructure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The trace collector, trace aggregator logic, and memory storage are merged into an integrated trace management system. Rather than adding separate complex components for each function, the patent combines these elements into a unified infrastructure that leverages existing memory and processing resources, thereby improving productivity without proportionally increasing device complexity.

Inventive Principle:
Principle #5Merging (Combining)

4Reliability

If benchmark comparison is performed to detect deviations, then reliability is improved through early failure detection, but difficulty of detecting and measuring increases due to the complexity of comparison logic

Engineering Contradiction:
Improvefailure detection capabilityVSAvoiddeviation detection complexity
Core Design Contradiction:
ReliabilityVSDifficulty of detecting and measuring

Solution Approach 1:

The system creates a copy of expected behavior through benchmark trace information that is stored in memory. By comparing runtime traces against this benchmark copy, the system can detect deviations and failures reliably. This copying approach simplifies the detection logic by providing a direct reference for comparison rather than requiring complex analysis of absolute values.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10733077B2Techniques for monitoring errors and system performance using debug trace information
Publication Date: 2020.08.04 INTEL CORP
  • US10733077B2 patent drawing
  • US10733077B2 patent drawing
  • US10733077B2 patent drawing

AI summary

Techniques and apparatus for error and performance analysis of a computing device are described. In one embodiment, for example, an apparatus may include at least one memory and logic coupled to the at least one memory, wherein the logic is further to access at least one trace associated with at least one trace source, access timing information associated with the at least one trace, generate a plurality of waypoints for at least one trace, each of the plurality of waypoints comprising a step of at least one trace and a time stamp, and generate at least one performance benchmark log for the at least one trace, the at least one benchmark log comprising a plurality of benchmark waypoints corresponding to the plurality of waypoints.