Instruction Sequence Probes for Processor Performance Bottleneck Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional methods for assessing processor performance in computing systems are costly and prone to inaccuracies due to factors like logical partitioning, power management policies, and varying hardware configurations, which can lead to benchmark results that do not reflect real-world conditions.

Innovation Solution

The use of lightweight instruction sequence probes that measure hardware metrics by executing tailored instruction sequences within the system, allowing for the identification of bottlenecks by comparing probe values to expected values, thereby determining resource usage and system capacity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If hardware performance instrumentation with performance counters is used, then measurement capability is provided, but system design cost and execution complexity increase significantly

Engineering Contradiction:
Improveperformance measurement capabilityVSAvoidcounter and event qualification logic in hardware designs
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent uses software-based virtual performance counters that copy the functionality of hardware performance counters. These virtual counters are implemented as software structures that can be configured and executed without modifying hardware architecture, thereby providing measurement capability while avoiding the complexity of hardware instrumentation.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent replaces hardware-based performance counting mechanisms with software-based virtual counters. Instead of using physical hardware counters and event qualification logic, the system uses software-implemented counters that can be dynamically configured through virtual machine instructions, eliminating the need for complex hardware modifications.

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

2Measurement precision

If conventional performance benchmarking with tightly controlled factors is used, then measurement accuracy is improved, but relevance to real-world conditions deteriorates

Engineering Contradiction:
Improvebenchmark measurement accuracyVSAvoidreflection of real world conditions
Core Design Contradiction:
Measurement precisionVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic performance measurement where the virtual machine can adapt its behavior based on real-world conditions. The virtual counters can be configured to measure different metrics and the virtual machine can adjust its execution characteristics to reflect actual operating conditions, thereby maintaining both accuracy and real-world relevance.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent allows dynamic changing of measurement parameters and system characteristics. The virtual machine can modify its execution parameters, the virtual counters can change their measurement focus, and the system can adapt to different workload conditions, enabling accurate measurements that reflect real-world variability rather than fixed benchmark conditions.

Inventive Principle:
Principle #35Parameter changes

3Ease of operation

If CPU utilization measurement by simply measuring time is used, then ease of collection is improved, but measurement accuracy for computational capacity and resource consumption deteriorates

Engineering Contradiction:
Improveease of collectionVSAvoidcomputational capacity and resource consumption accuracy
Core Design Contradiction:
Ease of operationVSMeasurement precision

Solution Approach 1:

The patent implements virtual performance counters that can measure multiple types of performance metrics simultaneously. These virtual counters are not limited to simple time measurement but can track computational capacity, resource consumption, and other performance parameters, providing comprehensive measurement capability that remains easy to collect through virtual machine instructions.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent uses virtual copies of performance counter functionality that can be instantiated and configured through software. These virtual counters replicate the measurement capabilities of hardware counters while adding the flexibility to measure diverse metrics including computational capacity and resource consumption, all through simple virtual machine instruction execution.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10031827B2Assessment of processor performance metrics by monitoring probes constructed using instruction sequences
Publication Date: 2018.07.24 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10031827B2 patent drawing
  • US10031827B2 patent drawing
  • US10031827B2 patent drawing

AI summary

Systems, methods and computer program products assess processor performance metrics by monitoring probes constructed using instruction sequences. A first probe value can be determined from execution of a broad spectrum probe in an execution environment. In response to determining that the first probe value is not a first expected probe value, a targeted probe providing a second probe value directed to a subsystem of the execution environment, a feature of the subsystem, or a component of the execution environment is executed. In response to determining that the second probe value is not a second expected probe value, a differential between the second probe value and the second expected probe value can be used to determine that a bottleneck exists in at least one of the subsystem of the execution environment, the feature of the subsystem, or the component of the execution environment.