Hardware Tracing Record Evaluation via Pre-defined Identifier

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvetracing overheadVSAvoidcustom information storage capacity
Core Design Contradiction:
Loss of energyVSLoss of information

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.

Inventive Principle:
Principle #1Segmentation

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

Engineering Contradiction:
Improvecustom information storage capacityVSAvoidtracing overhead
Core Design Contradiction:
Loss of informationVSLoss of energy

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.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

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

Engineering Contradiction:
Improvemulti-application environment applicabilityVSAvoidsoftware component identification
Core Design Contradiction:
Adaptability or versatilityVSLoss of information

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20230367567A1Concept for Evaluating Hardware Tracing Records
Publication Date: 2023.11.16 INTEL CORP
  • US20230367567A1 patent drawing
  • US20230367567A1 patent drawing
  • US20230367567A1 patent drawing

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.