Interrupt Routing in Shared Peripheral Controllers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multiprocessor computer systems, the performance is affected by process migration and the incorrect receipt of interrupts by processors, leading to inefficiencies due to remote memory access and the need for inter-processor interrupt mechanisms.
Innovation Solution
A method for processing interrupts in multiprocessor systems that involves receiving an input/output command with a device identifier, executing the operation, identifying the recipient processor based on the identifier, and directly transmitting the interrupt to the processor that initiated the operation, thereby optimizing performance by avoiding process migration and inter-processor interrupt mechanisms.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a standalone device controller is shared by multiple processors, then device utilization is improved, but interrupt routing complexity increases because the initiating processor is not always the one receiving the interrupt
Solution Approach 1:
The device identifier is captured and stored at the moment the I/O command is received, before the interrupt is generated later. This preliminary recording of the device identifier ensures that when the interrupt occurs, the system already has the information needed to identify the correct recipient processor, eliminating the need for complex interrupt routing logic at interrupt handling time.
2Reliability
If process migration is implemented to handle interrupts, then interrupt delivery is improved, but system performance deteriorates due to execution context relocation and remote memory access
Solution Approach 1:
The invention extracts and uses the device identifier as a key piece of information that is already present in the system. By taking out this identifier and using it to directly identify the recipient processor, the invention avoids the need to migrate processes or relocate execution contexts, thereby maintaining high system performance while ensuring reliable interrupt delivery.
3Reliability
If inter-processor interrupt mechanisms are used to forward interrupts, then correct interrupt delivery is improved, but processing overhead increases
Solution Approach 1:
The device controller itself performs the function of identifying the correct recipient processor using the stored device identifier. This self-service approach eliminates the need for additional inter-processor interrupt mechanisms or forwarding logic, thereby reducing processing overhead while ensuring accurate interrupt delivery.
Data Source
Figure 1~3
Figure 4~5
AI summary
The invention concerns, in particular, the processing of interruptions in an autonomous peripheral controller for a multiprocessor computer system. After having received (400) a command to execute an input/output operation and an identifier of the device from which said command has been received, an input/output operation linked to said received command is executed (410). After having obtained (420) said identifier of the device from which said command has been received, a recipient of an interruption corresponding to the execution of said input/output operation linked to said received command is identified (425), said recipient being identified on the basis of said identifier obtained from the device from which said command has been received. Said interruption corresponding to the execution of said input/output operation linked to said received command is then transmitted (430) to said identified recipient.