Dynamic Interrupt Controller for Multiprocessor Cache Locality

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multiprocessor systems, efficiently allocating interrupts to processor cores is challenging due to the need to balance between preempting high-priority tasks and utilizing idle or low-priority cores, while also considering cache locality to minimize latency and maximize efficiency.

Innovation Solution

An interrupt controller dynamically assigns interrupts based on a combination of processor core availability, priority levels, and cache locality scores, ensuring that interrupts are allocated to cores with cached resources and low priority tasks, thereby reducing the negative impact on current tasks and improving system efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If interrupts are allocated to processor cores based on availability and low priority tasks, then system productivity is improved, but task priority integrity may be compromised

Engineering Contradiction:
Improvesystem efficiencyVSAvoidpriority integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The interrupt allocation strategy dynamically adjusts between priority-based and availability-based routing based on real-time system conditions. The controller monitors processor state and cache locality to make adaptive decisions, allowing the system to optimize productivity when conditions permit while maintaining priority integrity when needed.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the allocation parameters based on cache state information and processor availability. When a processor has cached resources for an interrupt handler, the system uses cache locality as a weighting factor to redirect interrupts, effectively changing the allocation criteria from strict priority to a hybrid model that balances priority with operational efficiency.

Inventive Principle:
Principle #35Parameter changes

2Loss of time

If interrupts are allocated to processors with cached resources, then interrupt response latency is reduced, but processor core availability may be reduced

Engineering Contradiction:
Improveinterrupt response latencyVSAvoidprocessor availability
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The system performs preliminary actions by maintaining cache state information about interrupt handlers and processor cores before interrupts occur. This allows the interrupt controller to pre-identify which processors have cached resources ready for potential interrupt handling, enabling faster allocation decisions when interrupts arrive without needing to check cache status at the moment of interruption.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The interrupt controller uses feedback from cache state monitoring to adjust interrupt allocation decisions. By continuously tracking which processors have cached resources for specific interrupt handlers, the system receives real-time feedback about optimal allocation targets and adjusts its routing decisions accordingly to minimize latency while managing processor workload.

Inventive Principle:
Principle #23Feedback

3Adaptability or versatility

If dynamic interrupt scheduling is implemented, then system adaptability is improved, but device complexity increases

Engineering Contradiction:
Improveinterrupt allocation flexibilityVSAvoidinterrupt controller complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The interrupt controller segments the complex decision-making process into distinct functional components: it separately tracks processor availability state, monitors cache state information for interrupt handlers, and applies weighting factors based on priority and cache locality. This segmentation allows the complex adaptability to be managed through modular logic rather than a monolithic complex system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The interrupt controller acts as an intermediary between the interrupt sources and processor cores, introducing a layer of intelligent mediation that translates diverse interrupt requests into optimized processor allocation decisions. This intermediary function handles the complexity by centralizing the decision logic and using cache state information as a key mediating factor in the allocation process.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8321614B2Dynamic scheduling interrupt controller for multiprocessors
Publication Date: 2012.11.27 MERCURY KINGDOM ASSETS LIMITED
  • US8321614B2 patent drawing
  • US8321614B2 patent drawing
  • US8321614B2 patent drawing

AI summary

Technologies are generally described herein for handling interrupts within a multiprocessor computing system. A priority level associated with a current task for each processor of the multiprocessor computing system can be maintained. Cache state information associated with each processor can also be maintained. Upon receiving an interrupt to the multiprocessor computing system, a cache locality score for each processor can be determined based on the maintained cache state information. A value can be computed that balances, for each processor, the priority level and the cache locality score. A processor for servicing the interrupt can be determined based on the computed value. The determined processor can be signaled to service the interrupt. Tracking state information related to processor cores can support rapid allocation of an arriving interrupt to a processor core without collecting processor core state information at interrupt time.