Run-Time Instrumentation Control Status Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software developers face challenges in obtaining detailed, hardware-specific information at the right time and level to optimize software applications, as this information is often provided after the fact and is aggregated with other system activities, making it difficult to identify efficiency and accuracy issues.

Innovation Solution

A method, system, and computer program product for determining the status of run-time-instrumentation controls through specific instructions like the test run-time-instrumentation control (TRIC) instruction, which checks if instrumentation controls have changed since the last load, enabling developers to monitor and optimize software execution more effectively.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If hardware-specific information is provided after the fact in aggregate form, then information completeness is improved, but information usability deteriorates

Engineering Contradiction:
Improveinformation completenessVSAvoidinformation usability
Core Design Contradiction:
Quantity of substanceVSEase of operation

Solution Approach 1:

The patent segments hardware-specific information into distinct categories (processor information, memory information, I/O device information) and provides them through separate instruction interfaces. This allows developers to access only the specific hardware information needed for their optimization tasks, rather than receiving all information in an aggregated, difficult-to-navigate format.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary instruction interface layer between the hardware and the developer. This intermediary translates hardware events into standardized, developer-friendly information formats and provides structured access methods, making hardware-specific information more usable while maintaining completeness.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If performance-enhancing logic is introduced in processors, then processing performance is improved, but predictability of software execution deteriorates

Engineering Contradiction:
Improveprocessing performanceVSAvoidpredictability of software execution
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements feedback mechanisms where the processor provides runtime information about the actual execution of instructions, including branch prediction outcomes and cache performance. This feedback allows developers to observe and measure the real-world behavior of performance-enhancing logic, making system behavior more predictable and measurable for optimization purposes.

Inventive Principle:
Principle #23Feedback

3Adaptability or versatility

If multiple layers of abstraction are introduced in hardware virtualization, then system flexibility is improved, but understanding of hardware-level execution deteriorates

Engineering Contradiction:
Improvesystem flexibilityVSAvoidunderstanding of hardware-level execution
Core Design Contradiction:
Adaptability or versatilityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent extracts hardware-specific execution information from within the virtualization abstraction layers and makes it accessible to developers through standardized instruction interfaces. This extraction allows developers to observe actual hardware-level execution details without being constrained by the abstractions of the virtualization layer, maintaining both system flexibility and hardware-level visibility.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentEP2825962B1Determining the status of run-time-instrumentation controls
Publication Date: 2019.04.24 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • EP2825962B1 patent drawingFigure 1A
  • EP2825962B1 patent drawingFigure 1B
  • EP2825962B1 patent drawingFigure 1C

AI summary

The invention relates to determining the status of run-time-instrumentation controls. The status is determined by executing a test run-time-instrumentation controls (TRIC) instruction. The TRIC instruction executed in either a supervisor state or a lesser-privileged state. The TRIC instruction determines whether the run-time-instrumentation controls have changed. The run-time-instrumentation controls are set to an initial value using a privileged load run-time-instrumentation controls (LRIC) instruction. The TRIC instruction is fetched and executed. If the TRIC instruction is enabled, then it is determined if the initial value set by the run-time-instrumentation controls has been changed. If the initial value set by the run-time-instrumentation controls has been changed, then a condition code is set to a first value.