Marker-Based System Event Correlation with Program Instructions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current techniques are limited in identifying and associating performance problems with program instructions on a system-wide basis, as they primarily focus on processor-level analysis and struggle to detect inefficiencies outside the processor, making it difficult to correlate inefficiencies with specific program instructions across the entire system.

Innovation Solution

The method involves executing a program to identify instructions causing system events and inserting markers associated with these instructions, allowing system components to record events and information related to the markers, enabling the correlation of system events with program instructions across the entire system.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If performance counters are used in processor hardware to detect inefficient operations, then individual instructions causing problems can be identified, but the method is limited to detecting problems occurring within the processor and not on a system-wide basis

Engineering Contradiction:
Improveinstruction-level performance detectionVSAvoidsystem-wide detection capability
Core Design Contradiction:
Measurement precisionVSAdaptability or versatility

Solution Approach 1:

The patent introduces performance counters as intermediary components in system components (memory, I/O devices, bus) that can detect inefficient operations independently of the processor. These counters act as mediators between system events and program instructions, enabling system-wide performance monitoring without requiring direct processor access to program counters.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the performance monitoring function across multiple system components rather than concentrating it solely in the processor. Each system component (memory, I/O devices, bus) has its own performance counters, allowing distributed detection of inefficient operations throughout the entire system.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If performance counters are used in system components other than the processor to detect system-wide events, then system-wide detection is enabled, but it is difficult or impossible to correlate inefficiencies with specific program instructions since other system components typically do not have access to the program counter

Engineering Contradiction:
Improvesystem-wide detection capabilityVSAvoidcorrelation between events and instructions
Core Design Contradiction:
Adaptability or versatilityVSMeasurement precision

Solution Approach 1:

The patent performs preliminary actions by having system components record not only the timing of inefficient operations but also associate these events with program instructions through markers or event counters that track instruction execution. This preliminary association enables later correlation between system events and specific instructions even when the system component lacks direct access to the program counter.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback mechanisms where system components send recorded performance data back to the processor or analysis system. This feedback loop enables correlation of system-wide events with program instructions by providing the necessary contextual information about which instructions were executing when the events occurred.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9286184B1Probabilistic correlation of system events with program instructions
Publication Date: 2016.03.15 HEWLETT PACKARD ENTERPRISE DEV LP
  • US9286184B1 patent drawing
  • US9286184B1 patent drawing
  • US9286184B1 patent drawing

AI summary

A method and system for associating system events with program instructions in a computer system are disclosed. A program is executed or manually processed to identify instructions which cause system events. Then, markers are inserted into the program, each marker being associated with at least one of the identified instructions. When the program is executed, system events which occur during the execution are associated with program instructions using the markers.