Per-Object Memory Telemetry for Precise Program Analysis
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional memory access metrics lack the capability to provide detailed performance insights specific to an application or computer program, leading to imprecise and performance-affecting methods for memory optimization.
Innovation Solution
A memory sub-system that performs memory performance analysis on a per-object basis, using a memory address map to correlate memory access requests with objects of the computer program, and provides accurate memory usage insights through memory-side trace telemetry.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If conventional memory access metrics are used, then memory optimization can be performed, but the performance insights are imprecise and execution performance is affected
Solution Approach 1:
The patent segments memory access metrics into per-object categories, separating different data structures and their access patterns. This allows precise measurement of memory performance for individual objects without affecting overall execution performance, as each object can be analyzed independently using cached telemetry data.
Solution Approach 2:
The system performs preliminary actions by caching memory access telemetry data during program execution before analysis is performed. This preliminary data collection enables subsequent performance analysis without re-executing memory accesses, thus maintaining execution performance while achieving precise measurement insights.
2Measurement precision
If detailed memory access tracking is implemented, then performance insights are improved, but system complexity increases
Solution Approach 1:
The patent merges memory access telemetry collection with existing memory management operations. By integrating telemetry data collection into routine memory access operations and utilizing existing data structures, the system achieves detailed measurement precision without proportionally increasing system complexity.
Solution Approach 2:
The system creates copies of memory access telemetry data for analysis purposes while the original program continues execution. This copying approach enables detailed performance insights to be generated from replicated data without adding complexity to the primary execution path or requiring modifications to core memory management operations.
3Measurement precision
If memory performance analysis is performed during execution, then optimization insights are obtained, but execution latency increases
Solution Approach 1:
The system performs preliminary data collection during execution by caching memory access telemetry, but defers the actual performance analysis to occur after execution or during idle periods. This separation ensures that detailed analysis does not interfere with execution latency, as the computationally intensive analysis operations are performed on cached data rather than during active execution.
Solution Approach 2:
The patent uses lightweight, disposable telemetry data structures that are created during execution and discarded after analysis. These temporary objects require minimal memory management overhead and can be quickly processed without impacting execution latency, enabling accurate performance analysis through inexpensive, short-lived data representations.
Data Source
AI summary
A log of memory access requests initiated by a computer and directed to a memory device are received from a host system. A memory address map associated with the computer program is received. A memory access request in the log of memory access requests is identified. The identified memory access request is associated with an address. An object of the computer program is identified based on the memory address map. At least a part of the object resides at a memory location referenced by the address. One or more values of respective one or more memory access metrics associated with the object are determined.


