Interrupt Suppression for Application Thread Performance
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Productivity
If interrupt servicing is disabled on hardware threads, then application thread execution time is improved, but system responsiveness to I/O events deteriorates
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.
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.
3Reliability
If existing interrupt handling mechanisms are used, then I/O events are processed, but hardware threads spend excessive time servicing interrupts
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.
Data Source
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.


