Multiprocessor Interrupt Distribution via Transaction Completion Time Estimation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multi-processor systems, interrupt requests often interfere with nearly completed tasks, leading to cache overwriting and systematic latencies, as existing policies lack refined prioritization and transaction completion time estimation.
Innovation Solution
A method where transaction handlers estimate transaction completion times for each processor, redirecting interrupt requests to processors with the shortest estimated completion time, ensuring optimal distribution and minimizing interference with ongoing tasks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If interrupt requests are directed to the first processor using existing policies, then interrupt handling is performed, but transaction completion time increases and system performance deteriorates due to interference with nearly completed tasks
Solution Approach 1:
The system performs preliminary estimation of transaction completion times before directing interrupt requests. The transaction completion time estimation mechanism predicts how long current transactions will take to complete on each processor, allowing the system to proactively select the optimal processor for interrupt handling before the interrupt actually interferes with task completion. This preliminary action prevents the time loss that would otherwise occur from interrupting nearly completed transactions.
Solution Approach 2:
The interrupt distribution policy dynamically adapts based on real-time transaction completion time estimates rather than using static load balancing rules. The system continuously monitors and updates completion time predictions for each processor's current transactions, allowing the interrupt distribution mechanism to flexibly redirect interrupts to processors that will complete their current work fastest. This dynamic approach optimizes system performance by preventing interrupts from extending overall transaction completion times.
2Productivity
If interrupt requests are redirected to another processor, then interference with ongoing tasks is reduced, but system complexity increases due to transaction completion time estimation requirements
Solution Approach 1:
Each processor's transaction handler independently estimates its own transaction completion times without requiring complex centralized arbitration or communication overhead. The completion time estimation is performed locally by the processor that will execute the transaction, using its own knowledge of current workload and transaction characteristics. This self-service approach minimizes system complexity while enabling intelligent interrupt distribution that improves throughput.
3Reliability
If rigid interrupt schedule policy is used, then high-priority tasks are handled immediately, but system performance deteriorates due to cache overwriting and systematic latencies
Solution Approach 1:
The system changes the parameter used for interrupt distribution from static processor load metrics to dynamic transaction completion time estimates. Instead of always directing interrupts to the least loaded processor or using fixed priority schemes, the system evaluates the completion time parameter for each processor's current transactions and directs interrupts to processors with the shortest estimated completion times. This parameter change ensures high-priority tasks are handled reliably while avoiding cache overwriting and systematic latencies that reduce throughput.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A method for distributing interrupt load to processors in a multiprocessor system. The method includes executing current transactions with multiple processors (104,106,108) where each transaction is associated with one of the processors, generating an interrupt request, estimating a transaction completion time for each processor and directing the interrupt request (102) to the processor having the least estimated transaction completion time. Estimating a transaction completion time occurs periodically so that information pertaining to transaction times is stored and continually updated. According to one aspect of the invention, the step of estimating a transaction completion time for each processor occurs when the interrupt request is generated. According to another aspect of the invention, the step of communicating the interrupt request includes communicating the interrupt request to an intermediary processor prior to estimating the transaction completion time.