Run-time Instrumentation Reporting for Processor Execution Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

It is challenging for software developers to obtain and analyze hardware-specific information about software application execution due to the complexity of branch prediction and instruction caching logic, which is often provided after the fact and at a high level, making it difficult to identify efficiency and accuracy issues.

Innovation Solution

A run-time instrumentation reporting system that captures and records processor-level information about instruction streams, allowing for the creation of reporting groups that can be stored in a program buffer for post-analysis, enabling insights into program execution and facilitating optimizations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If hardware-specific instrumentation information is captured at the processor level, then measurement precision and insight into program execution are improved, but device complexity and difficulty of detecting and measuring increase

Engineering Contradiction:
Improvemeasurement precisionVSAvoiddifficulty of detecting and measuring
Core Design Contradiction:
Measurement precisionVSDifficulty of detecting and measuring

Solution Approach 1:

The patent introduces a run-time instrumentation reporting system that acts as an intermediary between the processor's complex internal logic and the software developer. This system captures hardware-specific information through instrumentation points in the instruction stream and presents it in a simplified, accessible format, thereby improving measurement precision while reducing the difficulty of detecting and measuring processor-level events.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces the need for developers to directly navigate complex hardware mechanisms with an automated instrumentation system. Instead of manually analyzing processor internals, the system automatically captures and reports instrumentation information, substituting direct mechanical/hardware interaction with an automated software-based measurement approach.

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

2Manufacturing precision

If hardware-specific instrumentation information is captured at the processor level, then manufacturing precision and insight into program execution are improved, but device complexity increases

Engineering Contradiction:
Improvemanufacturing precisionVSAvoiddevice complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent segments the complex processor instrumentation system into manageable components: instrumentation information capture, run-time recording, and reporting mechanisms. By dividing the monitoring function into discrete instrumentation points and separate processing stages, the system achieves precise measurement capabilities while organizing device complexity into modular, manageable segments.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The run-time instrumentation reporting system serves as an intermediary layer between the complex processor hardware and the software being developed. This intermediary captures detailed hardware-specific information without requiring the developer to directly interface with complex processor internals, thereby improving manufacturing precision while abstracting away device complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Loss of information

If detailed run-time instrumentation records are captured and stored, then loss of information is reduced, but use of energy and productivity are impacted

Engineering Contradiction:
Improveloss of informationVSAvoiduse of energy
Core Design Contradiction:
Loss of informationVSUse of energy by moving object

Solution Approach 1:

The patent implements partial action by capturing instrumentation information selectively at specific instrumentation points in the instruction stream rather than continuously monitoring all processor events. This approach reduces information loss for critical events while minimizing the energy overhead associated with comprehensive continuous monitoring.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system employs periodic action by capturing instrumentation records at defined intervals and instrumentation points rather than continuously. This periodic sampling approach maintains sufficient information for analysis while reducing the constant energy consumption that would result from uninterrupted monitoring of all processor activity.

Inventive Principle:
Principle #19Periodic action

4Loss of information

If detailed run-time instrumentation records are captured and stored, then loss of information is reduced, but productivity decreases

Engineering Contradiction:
Improveloss of informationVSAvoidproductivity
Core Design Contradiction:
Loss of informationVSProductivity

Solution Approach 1:

The patent applies partial action by instrumenting only specific critical points in the instruction stream rather than every instruction. This selective instrumentation reduces information loss for key performance and correctness metrics while minimizing the overhead impact on overall program execution and developer productivity.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The run-time instrumentation system acts as an intermediary that captures necessary information with minimal disruption to the execution flow. By inserting instrumentation code at strategic points rather than continuously intercepting all operations, the system reduces information loss while maintaining productivity through efficient, targeted data collection.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP2825963B1Run-time instrumentation reporting
Publication Date: 2019.08.21 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • EP2825963B1 patent drawingFigure 1A
  • EP2825963B1 patent drawingFigure 1B
  • EP2825963B1 patent drawingFigure 1C

AI summary

Embodiments of the invention relate to run-time instrumentation reporting. An instruction stream is executed by a processor. Run-time instrumentation information of the executing instruction stream is captured by the processor. Run-time instrumentation records are created based on the captured run-time instrumentation information. A run-time instrumentation sample point of the executing instruction stream on the processor is detected. A reporting group is stored in a run-time instrumentation program buffer. The storing is based on the detecting and the storing includes: determining a current address of the run-time instrumentation program buffer, the determining based on instruction accessible run-time instrumentation controls; and storing the reporting group into the run-time instrumentation program buffer based on an origin address and the current address of the run-time instrumentation program buffer, the reporting group including the created run-time instrumentation records.