Run-time Instrumentation Sampling for Hardware Data Precision

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software developers face challenges in identifying hardware-specific issues impacting software application efficiency and accuracy due to aggregated, high-level information being provided after the fact and interspersed with other programs and the operating system, making it difficult to optimize software performance.

Innovation Solution

Implementing run-time instrumentation directed sampling, which involves fetching and executing a run-time instrumentation next instruction to determine if a sample point can be set for reporting instrumentation information, allowing for the recording of specific data points during program execution into a run-time instrumentation program buffer.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If hardware specific information is collected and provided to developers, then software optimization capability is improved, but the information is provided after the fact in aggregate form making it difficult to identify specific issues

Engineering Contradiction:
Improvehardware information precisionVSAvoidinformation availability timing
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent implements run-time instrumentation that collects hardware-specific information during program execution rather than after the fact. By setting sample points at specific instructions during runtime, the system captures precise hardware state information at the moment it is relevant, eliminating the time loss associated with post-execution aggregate analysis.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an instrumentation module as an intermediary between the hardware and the developer. This module intercepts instruction execution, collects hardware-specific information through sampling at designated points, and provides detailed data to developers. The intermediary enables precise hardware information collection without requiring direct hardware access or post-processing of aggregate data.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If run-time instrumentation is implemented with focused sample points, then data collection precision is improved, but the complexity of the instrumentation system increases

Engineering Contradiction:
Improvedata collection precisionVSAvoidinstrumentation system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent applies local quality by enabling selective instrumentation at specific instruction locations rather than uniformly instrumenting the entire system. Developers can set sample points at particular instructions where hardware-specific information is most valuable, concentrating measurement resources where they provide maximum precision while minimizing overall system complexity.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements partial action by allowing developers to instrument only the portions of the program where hardware-specific information is needed, rather than instrumenting the entire program uniformly. This selective approach achieves sufficient measurement precision for optimization purposes while reducing the complexity overhead of comprehensive instrumentation.

Inventive Principle:
Principle #16Partial or excessive action

3Loss of information

If detailed hardware level information is collected during execution, then understanding of hardware behavior is improved, but the overhead of collection and processing increases

Engineering Contradiction:
Improvehardware behavior informationVSAvoidcollection overhead
Core Design Contradiction:
Loss of informationVSUse of energy by moving object

Solution Approach 1:

The patent implements periodic sampling at instructed sample points rather than continuous monitoring. The instrumentation module collects hardware behavior information at specific intervals determined by sample point instructions, achieving sufficient understanding of hardware behavior while minimizing the overhead associated with constant data collection and processing.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentEP2825961B1Run-time instrumentation directed sampling
Publication Date: 2017.11.08 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • EP2825961B1 patent drawingFigure 1A
  • EP2825961B1 patent drawingFigure 1B
  • EP2825961B1 patent drawingFigure 1C

AI summary

Embodiments of the invention relate to implementing run-time instrumentation directed sampling. An aspect of the invention includes a method for implementing run-time instrumentation directed sampling. The method includes fetching a run-time instrumentation next (RINEXT) instruction from an instruction stream. The instruction stream includes the RINEXT instruction followed by a next sequential instruction (NSI) in program order. The method further includes executing the RINEXT instruction by a processor. The executing includes determining whether a current run-time instrumentation state enables setting a sample point for reporting run-time instrumentation information during program execution. Based on the current run-time instrumentation state enabling setting the sample point, the NSI is a sample instruction for causing a run-time instrumentation event. Based on executing the NSI sample instruction, the run-time instrumentation event causes recording of run-time instrumentation information into a run-time instrumentation program buffer as a reporting group.