Interrupt Request Routing in Multithreaded Processors

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computer systems with multiple processors supporting simultaneous multithreading, interrupt handling leads to processing overhead as all processors are interrupted, even though only one processor needs to handle the interrupt, causing unnecessary context switches and performance impact on single-threaded workloads.

Innovation Solution

A method that disables interrupt requests for threads other than the interrupt request handling thread, configures the processor to route interrupts to this thread, and determines whether the thread needs to process the interrupt, thereby minimizing unnecessary interruptions and optimizing resource utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If interrupt requests are enabled on all processors in a multiprocessor system, then interrupt handling capability is improved, but processing overhead increases and single-threaded workload performance deteriorates

Engineering Contradiction:
Improveinterrupt handling capabilityVSAvoidsingle-threaded workload performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments interrupt handling by processor state: it divides processors into those executing customer programs (where interrupts are disabled) and those executing system programs (where interrupts are enabled). This segmentation allows interrupt handling capability to be preserved in system threads while protecting customer thread performance, resolving the contradiction between reliability and productivity.

Inventive Principle:
Principle #1Segmentation

2Reliability

If multiple processors are enabled for interrupt handling, then interrupt coverage is improved, but unnecessary context switches increase and execution time is wasted

Engineering Contradiction:
Improveinterrupt coverageVSAvoidexecution time waste
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent extracts the interrupt handling function from customer threads and assigns it exclusively to system threads. By taking out the interrupt handling responsibility from the general processor pool and concentrating it in dedicated system threads, the system maintains comprehensive interrupt coverage while eliminating unnecessary context switches in customer threads, thus reducing execution time waste.

Inventive Principle:
Principle #2Taking out (Extraction)

3Measurement precision

If interrupt requests are routed to all enabled threads, then interrupt detection completeness is improved, but unnecessary interrupt processing increases

Engineering Contradiction:
Improveinterrupt detection completenessVSAvoidinterrupt processing efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent applies local quality by differentiating interrupt routing based on thread type: system threads are configured to receive and process interrupt requests, while customer threads are excluded from interrupt routing. This localized differentiation ensures that interrupt detection remains complete through system threads while preventing unnecessary interrupt processing in customer threads, thereby improving overall interrupt processing efficiency.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10013279B2Processing interrupt requests
Publication Date: 2018.07.03 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10013279B2 patent drawing
  • US10013279B2 patent drawing
  • US10013279B2 patent drawing

AI summary

A method, a computer program product, and a computer system for processing interrupt requests in a computer system. The computer system disables, for a processor, an interrupt request for threads other than an interrupt request handling thread. The computer system configures the processor to route the interrupt request to the interrupt request handling thread. The computer system determines, by the interrupt request handling thread, whether one of the threads needs to process the interrupt request. The computer presents, by the interrupt request handling thread, the interrupt request to the one of the threads, in response to determining that the one of the threads needs to process the interrupt request.