Processor Cache Tracing Logic for Multicore Performance Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Multicore processor chips experience performance degradation due to frequent cache misses and thrashing, which is difficult to diagnose using existing tools that do not track memory-cache activity in sufficient detail, especially in multicore environments.

Innovation Solution

Incorporating cache-trace logic on the processor chip to non-intrusively observe and encode a sequenced data stream of memory-cache operations, including cache-line replacements, reads, writes, and evictions, to identify performance issues and provide metadata for analysis, allowing for refined software execution and improved cache performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If existing diagnostic tools are used to track memory-cache activity, then device complexity is reduced, but measurement precision is insufficient to diagnose cache performance issues in multicore environments

Engineering Contradiction:
Improvecache activity tracking precisionVSAvoiddiagnostic system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent introduces cache-trace logic as an intermediary component between the memory cache and diagnostic tools. This mediator captures and encodes cache operation sequences (reads, writes, evictions, replacements) with thread identifiers, providing precise measurement data without requiring complex modifications to existing diagnostic systems or processor cores.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces indirect inference methods with direct observation mechanisms. Instead of attempting to diagnose cache performance through software profiling or external monitoring (mechanical/system-level approaches), the solution uses dedicated hardware logic that directly captures cache operation sequences, substituting complex software-based diagnostic mechanisms with simpler hardware-based direct measurement.

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

2Measurement precision

If cache-trace logic is added to the processor chip, then measurement precision of cache operations is improved, but device complexity increases

Engineering Contradiction:
Improvecache operation observation accuracyVSAvoidprocessor chip complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent extracts the tracing function from the main processor core logic, implementing it as separate cache-trace logic that is distinct from the core execution units. This extraction allows the tracing functionality to be added to the processor chip without significantly increasing the complexity of the core processor architecture, as the trace logic operates independently and can be integrated into the cache control path.

Inventive Principle:
Principle #2Taking out (Extraction)

3Loss of information

If detailed cache operation sequences are captured and encoded, then loss of information about cache behavior is reduced, but use of energy increases due to additional encoding and data transmission

Engineering Contradiction:
Improvecache behavior information completenessVSAvoidenergy consumption of trace logic
Core Design Contradiction:
Loss of informationVSUse of energy by moving object

Solution Approach 1:

The patent changes the parameters of the traced data by encoding cache operations into a compact sequenced data stream format. Instead of capturing full detailed information about every cache operation (which would consume excessive energy), the system encodes essential parameters (operation type, thread identifier, sequence number) in a compressed format that reduces data transmission requirements and associated energy consumption while maintaining sufficient information for performance analysis.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10642709B2Processor cache tracing
Publication Date: 2020.05.05 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10642709B2 patent drawing
  • US10642709B2 patent drawing
  • US10642709B2 patent drawing

AI summary

A method for refining multithread software executed on a processor chip of a computer system. The envisaged processor chip has at least one processor core and a memory cache coupled to the processor core and configured to cache at least some data read from memory. The method includes, in logic distinct from the processor core and coupled to the memory cache, observing a sequence of operations of the memory cache and encoding a sequenced data stream that traces the sequence of operations observed.