Cache-Based Trace Recording Using Coherence Protocol Data

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current debugging techniques, especially 'time travel' debugging, face significant overhead due to large trace file sizes resulting from recording all data interactions in shared caches, which hinders efficient debugging and performance analysis.

Innovation Solution

The proposed solution utilizes a processor's shared cache and cache coherence protocol (CCP) to determine what data should be logged, reducing trace file size by selectively recording only relevant cache interactions, thereby minimizing overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If all data interactions in shared caches are recorded for debugging, then debugging completeness is improved, but trace file size increases significantly

Engineering Contradiction:
Improvedebugging completenessVSAvoidtrace file size
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts and records only the essential cache interaction data that is necessary for debugging, rather than recording all cache data interactions. This selective extraction approach maintains debugging completeness while significantly reducing trace file size by filtering out redundant information.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies different recording strategies to different types of cache interactions based on their debugging relevance. By making the recording quality and detail level local to each interaction type, the system achieves comprehensive debugging where needed while minimizing trace file size for less critical interactions.

Inventive Principle:
Principle #3Local quality

2Measurement precision

If all cache interactions are logged, then trace accuracy is improved, but recording overhead increases

Engineering Contradiction:
Improvetrace accuracyVSAvoidrecording overhead
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent extracts only the critical cache interaction events that are necessary for accurate debugging traces. By identifying and recording only these essential events rather than all cache interactions, the system maintains trace accuracy while reducing the overhead associated with monitoring and logging every cache operation.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies partial action by recording a subset of cache interactions that are sufficient for debugging purposes. Rather than implementing excessive logging of all possible cache events, the system selectively logs only the partial set of interactions that provide the necessary debugging accuracy, thereby reducing overhead.

Inventive Principle:
Principle #16Partial or excessive action

3Adaptability or versatility

If comprehensive trace data is recorded, then debugging capability is improved, but system performance deteriorates

Engineering Contradiction:
Improvedebugging capabilityVSAvoidsystem performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent extracts and records only the essential debugging information from cache interactions, maintaining comprehensive debugging capability while minimizing the performance impact. By filtering out non-essential data, the system reduces the processing and storage overhead that would otherwise degrade system performance.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies local quality by enhancing debugging capability selectively for critical cache interactions while using a more streamlined approach for less important interactions. This localized enhancement strategy maintains strong debugging capability where needed without uniformly degrading system performance across all operations.

Inventive Principle:
Principle #3Local quality

Data Source

PatentEP3665575B1Cache-based trace recording using cache coherence protocol data
Publication Date: 2021.07.28 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP3665575B1 patent drawingFigure 1
  • EP3665575B1 patent drawingFigure 2
  • EP3665575B1 patent drawingFigure 3

AI summary

Performing a cache-based trace recording using cache coherence protocol (CCP) data. Embodiments detect that an operation that causes an interaction between a cache line and a backing store has occurred, that logging is enabled for a processing unit that caused the operation, that the cache line is a participant in logging, and that the CCP indicates that there is data to be logged to a trace. Embodiments then cause that data to be logged to the trace, which data is usable to replay the operation.