Interrupt Suppression for Application Thread Performance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In threaded environments, hardware threads spend excessive time servicing interrupts, reducing application thread execution time and overall system performance, as existing solutions fail to adequately address the need to suppress interrupts and restore responsiveness.

Innovation Solution

A method determines a threshold percentage of execution time spent servicing interrupts relative to total execution time for each hardware thread and disables interrupt servicing when this threshold is exceeded, allowing the thread to focus on application execution, with adjustments based on system configurations and performance metrics.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If interrupt servicing is enabled on hardware threads, then system responsiveness to I/O events is improved, but application thread execution time is reduced

Engineering Contradiction:
Improvesystem responsivenessVSAvoidapplication thread execution time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system dynamically adjusts interrupt servicing behavior based on measured execution time ratios. When the ratio of interrupt servicing time to total execution time exceeds a threshold, the system disables interrupt servicing on that hardware thread, and when the ratio falls below the threshold, it re-enables interrupt servicing. This dynamic adaptation resolves the contradiction by allowing the system to optimize between responsiveness and application execution time based on actual runtime conditions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the operational parameter of interrupt servicing (enabled/disabled state) based on measured performance metrics. By monitoring the execution time ratio and comparing it against a threshold parameter, the system transitions between different operational states to balance the competing requirements of I/O responsiveness and application thread execution time.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If interrupt servicing is disabled on hardware threads, then application thread execution time is improved, but system responsiveness to I/O events deteriorates

Engineering Contradiction:
Improveapplication thread execution timeVSAvoidsystem responsiveness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system employs dynamic switching between interrupt servicing modes based on measured performance characteristics. By continuously monitoring the ratio of interrupt servicing time to total execution time and comparing it against a threshold, the system adaptively enables or disables interrupt servicing to optimize application execution time while preserving system responsiveness when conditions permit.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The operational parameter of interrupt servicing is changed based on measured execution time ratios. When the ratio indicates excessive interrupt handling (above threshold), the system disables interrupt servicing to improve application execution time. When the ratio is acceptable (below threshold), the system re-enables interrupt servicing to maintain system responsiveness.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If existing interrupt handling mechanisms are used, then I/O events are processed, but hardware threads spend excessive time servicing interrupts

Engineering Contradiction:
ImproveI/O event processingVSAvoidinterrupt servicing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system implements a feedback mechanism that measures the ratio of interrupt servicing time to total execution time on each hardware thread. This measured ratio is fed back to the decision logic that determines whether to enable or disable interrupt servicing. The feedback loop allows the system to detect when interrupt servicing time becomes excessive and automatically adjust behavior to reduce it, while still maintaining necessary I/O event processing.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11620154B2Suppressing interrupts to an application thread
Publication Date: 2023.04.04 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11620154B2 patent drawing
  • US11620154B2 patent drawing
  • US11620154B2 patent drawing

AI summary

In a computing system, an application thread is executed on a hardware thread. Based on a configuration of the computing system, a first threshold is determined comprising a threshold percentage of execution time spent servicing a set of interrupts to the application thread relative to a total execution time for the hardware thread. For the hardware thread, a length of a first time period spent servicing an interrupt in the set of interrupts and a length of a second time period spent executing the application thread are measured. A cumulative percentage of execution time spent in the first time period relative to execution time spent in the first time period and the second time period is calculated. Responsive to the cumulative percentage being above the threshold percentage, interrupt servicing on the hardware thread is disabled.