Interrupt Routing Controller Saturate Value Queuing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional data processing systems face inefficiencies in handling queued interrupts, particularly due to the need for software to decode event sources and redirect interrupts, which delays user program execution and increases system bus traffic when the number of outstanding interrupts exceeds the capacity of interrupt presentation controllers.
Innovation Solution
The implementation of an interrupt routing controller that maintains backlog counts for each interrupt handler and sets a saturate value for each event path, optimizing the number of processor threads available for processing and eliminating the need for reject messages by using interrupt destination buffers to queue interrupt information.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If software decodes event sources and redirects interrupts, then interrupt handling flexibility is improved, but user program execution is delayed and system bus traffic increases
Solution Approach 1:
The interrupt routing controller pre-decodes event sources and pre-determines target interrupt handlers during system initialization or event path setup. This preliminary action stores the mapping information in advance, eliminating the need for software to perform real-time decoding and redirection during interrupt handling, thus reducing execution delay while maintaining flexibility.
Solution Approach 2:
The interrupt routing controller acts as an intermediary hardware component between the interrupt source and the processor. It hardware-accelerates the event source decoding and target handler selection processes, mediating the interrupt routing function to reduce the time burden on software and minimize user program execution delays.
2Reliability
If the number of outstanding interrupts exceeds interrupt presentation controller capacity, then interrupt handling completeness is improved, but system bus traffic increases due to reject messages
Solution Approach 1:
The interrupt routing controller pre-queues interrupt information in interrupt destination buffers before the interrupt presentation controller processes them. This preliminary queuing action allows the system to accommodate more outstanding interrupts than the controller's immediate processing capacity, preventing reject messages and reducing bus traffic while maintaining complete interrupt handling.
Solution Approach 2:
The interrupt destination buffers serve as an intermediary storage mechanism between the interrupt source and the interrupt presentation controller. This intermediate buffering capacity absorbs the mismatch between interrupt arrival rates and controller processing rates, allowing complete interrupt handling without exceeding controller capacity limits and avoiding reject message overhead.
3Quantity of substance
If backlog counts are incremented without limits, then interrupt queuing capacity is improved, but system scalability is reduced when backlog exceeds available virtual processor threads
Solution Approach 1:
The system dynamically adjusts the saturate value parameter for each event path based on the number of available virtual processor threads. When thread availability changes, the saturate value is updated accordingly, allowing the interrupt queuing capacity to adapt to system conditions. This parameter change ensures optimal utilization of available resources while maintaining scalability.
Solution Approach 2:
The interrupt routing controller implements feedback monitoring of the backlog count against the saturate value for each event path. When the backlog count approaches the saturate value, the system receives feedback to stop incrementing, preventing overflow. This feedback mechanism ensures that interrupt queuing capacity remains aligned with available virtual processor threads, maintaining system scalability while providing sufficient queuing capacity.
Data Source
AI summary
A technique for handling queued interrupts includes accumulating, by an interrupt routing controller (IRC), respective backlog counts for respective event paths. The backlog counts track a number of events received but not delivered as interrupts to associated virtual processor (VP) threads upon which respective target interrupt handlers execute. An increment backlog (IB) message is received by the IRC. In response to receiving the IB message, the IRC determines an associated saturate value for an event path specified in the IB message. The IRC increments an associated backlog count for the event path specified in the IB message as long as the associated backlog count does not exceed the associated saturate value.


