Transforming Program-Event-Recording Events Into Run-Time Instrumentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

It is challenging for software developers to obtain detailed, hardware-specific information about program execution due to the complexity introduced by performance-enhancing logic and multiple layers of abstraction, making it difficult to identify efficiency and accuracy issues in software applications.

Innovation Solution

A method and system for transforming program-event-recording events into run-time instrumentation events, allowing for the collection and analysis of specific information during program execution without interrupting the instruction stream, enabling lower-privileged programs to access and utilize this information.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If hardware-specific information is collected during program execution, then measurement precision is improved, but device complexity increases due to multiple abstraction layers and performance-enhancing logic

Engineering Contradiction:
Improvehardware-specific information accuracyVSAvoidabstraction layer complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent introduces a translation layer that converts program-event-recording (PER) events into run-time instrumentation events. This intermediary mechanism allows lower-privileged programs to access hardware-specific information without requiring direct hardware access or higher privileges, thereby maintaining measurement precision while simplifying the interaction complexity across abstraction layers.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the event recording functionality into distinct event types (PER events and run-time instrumentation events) with different access requirements. By dividing the monitoring mechanism into separable event categories, the system enables precise hardware information collection for specific programs without requiring complex global access control, thus improving measurement precision while managing device complexity.

Inventive Principle:
Principle #1Segmentation

2Device complexity

If aggregate, high-level hardware information is provided to developers, then device complexity is reduced, but loss of information increases due to lack of detailed execution data

Engineering Contradiction:
Improveinformation presentation simplicityVSAvoiddetailed execution information
Core Design Contradiction:
Device complexityVSLoss of information

Solution Approach 1:

The patent implements dynamic event filtering and selection mechanisms that allow developers to choose the appropriate level of information detail based on their specific needs. The system can dynamically adjust between providing aggregated high-level information and detailed execution data, thereby reducing perceived device complexity while minimizing information loss according to user requirements.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent enables developers to modify parameters such as event selection criteria, filtering thresholds, and information granularity levels. By allowing dynamic parameter changes in how hardware information is presented, the system maintains simplicity in the interface while preserving access to detailed execution information when needed, thus balancing device complexity reduction with information retention.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If higher-privileged control programs are used to provide hardware information, then reliability is improved, but loss of time increases due to privilege escalation and context switching

Engineering Contradiction:
Improvehardware information accuracyVSAvoidprivilege escalation overhead
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent enables lower-privileged programs to self-service by directly accessing and recording their own hardware-specific execution information through the transformed run-time instrumentation events. This eliminates the need for privilege escalation to higher-privileged control programs, thereby maintaining reliability of hardware information collection while significantly reducing the time loss associated with context switching and privilege management.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The translation mechanism acts as an intermediary that allows lower-privileged programs to obtain hardware information without requiring higher privileges. By mediating the access through event transformation rather than direct hardware access or privileged intervention, the system maintains the reliability of hardware-specific data collection while eliminating the time overhead of privilege escalation and context switching between different privilege levels.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP2825965B1Transformation of a program-event-recording event into a run-time instrumentation event
Publication Date: 2023.01.18 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • EP2825965B1 patent drawingFigure 1A
  • EP2825965B1 patent drawingFigure 1B
  • EP2825965B1 patent drawingFigure 1C

AI summary

Embodiments of the invention relate to transforming a program-event-recording event into a run-time instrumentation event. An aspect of the invention includes a method for transforming a program-event-recording event into a run-time instrumentation event. The method includes enabling run-time instrumentation for collecting instrumentation information of an instruction stream executing on a processor. The method also includes detecting, by the processor, a program-event-recording (PER) event, the PER event associated with the instruction stream executing on the processor. The method further includes writing a PER event record to a collection buffer as a run-time instrumentation event based on detecting the PER event, the PER event record identifying the PER event.