Interrupt Master Thread Selection via Dynamic Scope Polling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In data processing systems, efficiently selecting a virtual processor thread to handle interrupts from multiple threads is challenging due to the time-consuming nature of interrupt handling, which increases with the number of processing cores and nodes, leading to performance impacts.

Innovation Solution

A data processing system employs an interrupt bus protocol that issues a sequence of single bus commands to determine the capability and availability of virtual processor threads across multiple processing units, allowing for efficient selection and assignment of a suitable thread to handle interrupts, utilizing an interrupt master and snoopers to manage interrupt handling through a data structure that updates based on historical transmission scopes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If interrupt handling polls all virtual processor threads across multiple processing cores and nodes, then the system can reliably identify capable and available threads, but the time required for interrupt handling increases significantly

Engineering Contradiction:
Improveinterrupt handling reliabilityVSAvoidinterrupt handling time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system segments the interrupt handling process into multiple phases: first polling a limited initial set of virtual processor threads, then conditionally expanding the poll scope based on response results. This segmentation allows the system to quickly resolve interrupts when possible while maintaining the ability to expand coverage when needed, thus balancing reliability with time efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The poll scope is made dynamic rather than static. The system starts with a limited scope and dynamically expands it based on the responses received during interrupt handling. This dynamic adjustment allows the system to adapt the polling behavior to actual system conditions, reducing unnecessary polling overhead while maintaining reliability when needed.

Inventive Principle:
Principle #15Dynamics

2Loss of time

If the system polls a limited scope of virtual processor threads for interrupts, then interrupt handling time is reduced, but the reliability of identifying capable threads decreases

Engineering Contradiction:
Improveinterrupt handling timeVSAvoidthread selection reliability
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The system implements feedback-based scope expansion. During the initial limited poll, responses from virtual processor threads provide feedback about system state and thread availability. Based on this feedback, the system dynamically expands the poll scope to include additional threads if needed, ensuring reliability is maintained while minimizing unnecessary polling.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs preliminary action by first polling a limited set of virtual processor threads before expanding the scope. This preliminary limited poll quickly identifies available threads in common cases, and only if needed does the system perform the more comprehensive polling action, thus reducing average interrupt handling time while maintaining reliability.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If the system expands the poll scope dynamically based on responses, then interrupt handling adapts to system conditions, but the complexity of interrupt management increases

Engineering Contradiction:
Improveinterrupt handling efficiencyVSAvoidinterrupt management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The interrupt management system performs self-service through automatic scope adjustment. Based on responses received during polling, the system automatically determines whether to expand or maintain the current poll scope without requiring external intervention or complex manual configuration. This self-service approach improves efficiency while keeping complexity manageable through rule-based automatic decision-making.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11645215B2Efficient selection of a particular processor thread for handling an interrupt
Publication Date: 2023.05.09 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11645215B2 patent drawing
  • US11645215B2 patent drawing
  • US11645215B2 patent drawing

AI summary

A plurality of virtual processor threads are executed on the plurality of physical processor threads. In a data structure, information pertaining to a plurality of interrupt sources in the data processing system is maintained. The information includes a historical scope of transmission of interrupt commands for an interrupt source. Based on an interrupt request from an interrupt source, an interrupt master transmits a first interrupt bus command on an interconnect fabric of the data processing system to poll one or more interrupt snoopers regarding availability of one or more of the virtual processor threads to service an interrupt. The interrupt master updates the scope of transmission specified in the data structure based on a combined response to the first interrupt bus command. The interrupt master applies the scope of transmission specified in the data structure to a subsequent second interrupt bus command for the interrupt source.