Hardware Tracing Record Evaluation via Pre-defined Identifier
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current hardware tracing technologies, such as Intel's Processor Trace (PT), face challenges in differentiating between tracing records from multiple software components, leading to limited applicability in real-world scenarios like cloud server environments where multiple applications are executed simultaneously, and result in performance overhead due to limited custom information storage.
Innovation Solution
The proposed solution involves storing a pre-defined identifier in proximity to the instruction triggering the hardware tracing record, allowing identification of the binary module and context, enabling analysis tools to differentiate between different records by using unique identifiers for various types of information, such as timestamps and iteration counters.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of energy
If hardware tracing records store only limited custom information, then the tracing overhead is reduced, but the ability to differentiate between records from multiple software components is lost
Solution Approach 1:
The patent segments the tracing information by dividing it into fixed-format metadata (stored in hardware tracing records) and variable custom information (stored separately in memory). This segmentation allows the hardware to efficiently trace with minimal overhead while the software layer provides the necessary differentiation capability through separate storage of custom information associated with each trace record.
2Loss of information
If hardware tracing records store more custom information, then the ability to differentiate between records from multiple software components is improved, but the tracing overhead increases
Solution Approach 1:
The patent adds a new dimension to the tracing system by introducing external memory storage for custom information. Instead of expanding the fixed-format hardware trace record, the solution moves custom information to a separate dimension (external memory), allowing unlimited storage capacity without increasing the hardware tracing overhead.
3Adaptability or versatility
If hardware tracing is used in multi-application environments, then the applicability is improved, but the ability to differentiate between records from different applications deteriorates
Solution Approach 1:
The patent introduces an intermediary layer (software agent/memory management unit) that sits between the hardware tracing system and the trace analysis tools. This intermediary associates custom information with trace records by matching memory addresses, enabling differentiation between multiple applications without modifying the hardware tracing mechanism itself.
Data Source
AI summary
Various examples relate to methods, computer programs, non-transitory computer-readable media, apparatuses, devices, computer systems, and a system for evaluating one or more hardware tracing records related to a hardware tracing operation or for processing a piece of software. A method for evaluating one or more hardware tracing records related to a hardware tracing operation comprises obtaining a hardware tracing record, the hardware tracing record comprising a custom information and a memory address within a deterministic distance of an instruction having triggered the hardware tracing record, identifying, based on the memory address within the deterministic distance of the instruction having triggered the hardware tracing record, a binary module containing the instruction, determining, whether a pre-defined identifier is stored at a pre-defined memory address range relative to the memory address within the deterministic distance of the instruction in the binary module, and processing information on the hardware tracing record if the pre-defined identifier is stored at the pre-defined memory address range relative to the memory address within the deterministic distance of the instruction.


