Transactional Execution Run-Time Instrumentation Sampling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computing environments, it is challenging for software developers to obtain detailed, hardware-specific information during the execution of software applications, especially when performance-enhancing logic and virtualization introduce layers of abstraction, making it difficult to identify efficiency and accuracy issues.

Innovation Solution

Implementing run-time instrumentation sampling in transactional-execution mode, which allows for the collection of instrumentation information at specific points during instruction execution, enabling detailed data collection and analysis of software performance without interrupting the transactional flow.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If run-time instrumentation is implemented to collect detailed hardware-level information, then measurement precision is improved, but device complexity increases due to the additional instrumentation logic and transactional-execution mode requirements

Engineering Contradiction:
Improvehardware-level information accuracyVSAvoidinstrumentation system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the instrumentation process into distinct transactional execution units, where each transaction independently collects and stores instrumentation information. This segmentation allows precise hardware-level measurement while managing complexity through modular, isolated transaction blocks that can be executed and analyzed independently.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a transactional-execution mode as an intermediary layer between standard instruction execution and instrumentation data collection. This intermediary mechanism enables precise hardware information capture without directly modifying the core instruction stream, thereby improving measurement precision while containing the increase in system complexity within a dedicated execution mode.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of information

If instrumentation information is stored immediately during instruction execution, then information availability is improved, but productivity decreases due to interruptions in the instruction stream

Engineering Contradiction:
Improveinstrumentation data availabilityVSAvoidinstruction execution throughput
Core Design Contradiction:
Loss of informationVSProductivity

Solution Approach 1:

The patent uses transactional-execution mode to preliminarily collect all instrumentation information during the transaction before committing storage operations. By interlocking storage operations until transaction completion, the system ensures information is captured and validated beforehand, allowing bulk storage without interrupting the instruction stream during critical execution phases, thus maintaining both data availability and productivity.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If storage operations are interlocked until transaction completion, then reliability is improved, but loss of time increases due to deferred storage operations

Engineering Contradiction:
Improvetransaction atomicityVSAvoidstorage operation delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent maintains continuity of useful action by performing instrumentation information collection continuously during transactional execution, even though storage is deferred. The interlocking of storage operations ensures that once a transaction completes, all its instrumentation data is stored atomically and reliably. This approach preserves transaction integrity while minimizing total delay, as the deferred storage occurs only after the transaction's useful work is complete.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS9411591B2Run-time instrumentation sampling in transactional-execution mode
Publication Date: 2016.08.09 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9411591B2 patent drawing
  • US9411591B2 patent drawing
  • US9411591B2 patent drawing

AI summary

Embodiments of the invention relate to implementing run-time instrumentation sampling in transactional-execution mode. An aspect of the invention includes determining, by a processor, that the processor is configured to execute instructions of an instruction stream in a transactional-execution mode, the instructions defining a transaction. Completion of storage operations of the instructions is interlocked to prevent instruction-directed storage until completion of the transaction. A sample point is recognized during execution of the instructions while in the transactional-execution mode. Run-time-instrumentation-directed storing is performed, upon successful completion of the transaction, run-time instrumentation information obtained at the sample point.