Cache Miss Classification Using Hybrid PMU and Breakpoint Sampling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing tools fail to accurately identify different types of cache misses, impose significant performance overhead, and cannot differentiate cache misses caused by memory allocators, leading to inefficient manual efforts in fixing cache-related issues.

Innovation Solution

CachePerf, a hybrid sampling scheme using PMU-based coarse-grained and breakpoint-based fine-grained sampling, identifies cache misses with reasonable overhead, differentiates types of misses, and filters out minor issues, reporting only significant cache misses.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If simulation-based approaches are used to classify cache misses, then measurement precision is improved, but productivity deteriorates due to prohibitive performance overhead (100×)

Engineering Contradiction:
Improvecache miss classification accuracyVSAvoidperformance overhead
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent segments the cache miss classification process into distinct types (compulsory, capacity, conflict, and coherency misses) and applies different detection strategies for each type. This segmentation enables precise classification while reducing overall overhead by not applying the most expensive detection method to all miss types.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the sampling parameters dynamically based on the detected cache miss patterns. By adjusting sampling rates and thresholds according to the specific miss type and program behavior, the system achieves accurate classification with minimized performance overhead.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If existing profiling tools are used to identify cache misses, then productivity is maintained with low overhead, but measurement precision deteriorates as they cannot pinpoint the type of cache misses

Engineering Contradiction:
Improveperformance overheadVSAvoidcache miss type identification
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The patent introduces an intermediary analysis layer that sits between the profiler and the programmer. This intermediary automatically analyzes cache miss patterns, classifies miss types, and provides actionable insights, thereby maintaining low overhead while achieving high measurement precision for miss type identification.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces manual cache miss analysis with an automated system that uses pattern recognition and machine learning techniques. This substitution eliminates the need for programmers to manually analyze cache behavior while providing precise miss type classification.

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

3Measurement precision

If existing tools report all cache misses, then measurement precision is improved, but productivity deteriorates as they report minor issues with little performance impact

Engineering Contradiction:
Improvecache miss detection completenessVSAvoidprogrammer effort
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent applies local quality by providing different levels of detail and attention to different cache miss locations. It identifies and prioritizes cache misses that have significant performance impact while providing summarized or filtered reports for minor issues, thereby improving programmer productivity without sacrificing detection completeness.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent changes reporting parameters based on the severity and frequency of cache misses. By adjusting thresholds and filtering criteria dynamically, the system reports only the most significant issues that require programmer attention, reducing unnecessary effort while maintaining comprehensive detection.

Inventive Principle:
Principle #35Parameter changes

4Ease of operation

If existing tools are used to identify cache misses, then ease of operation is maintained, but measurement precision deteriorates as they cannot differentiate cache misses caused by memory allocators

Engineering Contradiction:
Improvetool usabilityVSAvoidallocator-caused miss identification
Core Design Contradiction:
Ease of operationVSMeasurement precision

Solution Approach 1:

The patent introduces an intermediary analysis layer that automatically attributes cache misses to their root causes, including memory allocator issues. This intermediary transparently analyzes miss patterns and provides differentiated reporting without requiring changes to how programmers use the tool.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates a universal profiling tool that handles multiple types of cache misses from different sources (application code, library code, and memory allocators) through a single interface. This multi-functional approach maintains ease of operation while achieving precise identification of allocator-caused misses.

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

Data Source

PatentUS12541443B2Classification of different types of cache misses
Publication Date: 2026.02.03 UNIV OF MASSACHUSETTS
  • US12541443B2 patent drawing
  • US12541443B2 patent drawing
  • US12541443B2 patent drawing

AI summary

Various examples are provided related to cache miss classification. In one example, a method for classification of cache misses includes detecting a susceptible instruction of a program with frequent cache misses based upon performance monitoring units (PMU) based coarse grain sampling; collecting a memory access pattern of the susceptible instruction using breakpoint-based fine-grain sampling; and classifying a type of cache miss associated with the susceptible instruction. The type of cache miss can be classified as a capacity miss, a conflict miss, or a coherence miss using the memory access pattern of the susceptible instruction.