Hardware Aggregator for Unified Memory Profiling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current hardware memory profiling methods are not standardized, making it difficult for software to combine multiple memory profiling techniques to create a unified view of memory accesses, which is essential for informed memory scheduling decisions in tiered memory architectures.

Innovation Solution

A hardware aggregator that controls the execution of multiple hardware profilers, comparing counter values to thresholds to initiate or stop profiling, and aggregates result counter values to provide standardized profiling statistics accessible to software for memory-management policy decisions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If multiple hardware memory profiling methods are used, then memory profiling information becomes more comprehensive, but software cannot effectively combine these methods due to lack of standardization

Engineering Contradiction:
Improvememory profiling information completenessVSAvoidsoftware complexity to combine profiling methods
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The patent introduces a standardized hardware interface and data structure as an intermediary between multiple hardware profilers and software. This intermediary layer provides uniform access methods and standardized data formats, allowing software to combine profiling information from multiple hardware sources without dealing with their individual complexities directly.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates a universal hardware profiling interface that can work with multiple different hardware profiler types. The standardized data structures and access methods enable a single software implementation to utilize various hardware profiling methods (PMCs, accessed-bit tracking, trace-based profiling) through a common interface, achieving multi-functionality.

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

2Measurement precision

If hardware profilers continuously monitor memory accesses, then profiling data becomes more detailed, but system overhead increases

Engineering Contradiction:
Improvememory access profiling detailVSAvoidsystem overhead
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The patent implements periodic sampling of memory access information rather than continuous monitoring. The hardware profilers collect profiling data at regular intervals or based on predefined conditions, reducing the constant overhead of continuous monitoring while still providing sufficient detail for memory management decisions.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The patent applies partial monitoring by selectively profiling only certain memory access patterns or conditions that are most relevant to memory management decisions. Rather than monitoring all memory accesses with equal detail, the system focuses on significant events, reducing overhead while maintaining measurement precision where it matters most.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11860755B2Hardware assisted memory profiling aggregator
Publication Date: 2024.01.02 ADVANCED MICRO DEVICES INC
  • US11860755B2 patent drawing
  • US11860755B2 patent drawing
  • US11860755B2 patent drawing

AI summary

An approach is provided for implementing memory profiling aggregation. A hardware aggregator provides memory profiling aggregation by controlling the execution of a plurality of hardware profilers that monitor memory performance in a system. For each hardware profiler of the plurality of hardware profilers, a hardware counter value is compared to a threshold value. When a threshold value is satisfied, execution of a respective hardware profiler of the plurality of hardware profilers is initiated to monitor memory performance. Multiple hardware profilers of the plurality of hardware profilers may execute concurrently and each generate a result counter value. The result counter values generated by each hardware profiler of the plurality of hardware profilers are aggregated to generate an aggregate result counter value. The aggregate result counter value is stored in memory that is accessible by a software processes for use in optimizing memory-management policy decisions.