Source Core Interrupt Steering via Request-Directed Interrupts

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Storage input/output (I/O) throughput is bottlenecked by interrupt processing in multi-core processor systems due to inefficient interrupt distribution, leading to core saturation and increased latency as the number of processor cores increases.

Innovation Solution

The implementation of Request-Directed Interrupts (RDIs) using Core-IDs, which embed an address offset or logical handle in I/O requests to direct interrupts back to the source core, allowing for efficient load-balancing and context cache hits, thereby reducing inter-processor interrupt overhead and promoting processing efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If interrupts are directed to a specific core using fixed-mode policy, then interrupt processing is simplified, but core saturation occurs and processing efficiency deteriorates

Engineering Contradiction:
Improveinterrupt processing complexityVSAvoidprocessing efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent implements dynamic interrupt steering that adapts interrupt distribution based on real-time core utilization metrics. The system transitions from static fixed-mode policy to dynamic load-based distribution, where the interrupt target core is selected based on current system state, preventing core saturation while maintaining processing efficiency

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of interrupt target selection from a fixed core identifier to a dynamically determined core based on utilization metrics. By monitoring core utilization parameters and adjusting interrupt steering decisions accordingly, the system optimizes both processing complexity and efficiency

Inventive Principle:
Principle #35Parameter changes

2Productivity

If interrupts are spread randomly or round-robin to multiple cores, then core saturation is reduced, but context mismatch increases and latency worsens

Engineering Contradiction:
Improvecore utilization balanceVSAvoidinterrupt latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements a feedback mechanism that monitors core utilization metrics and uses this information to make intelligent interrupt steering decisions. The system continuously gathers feedback on core load states and adjusts interrupt distribution accordingly, ensuring interrupts are directed to appropriate cores based on real-time conditions rather than random or round-robin selection

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs preliminary assessment of core utilization states before directing interrupts. By evaluating core load metrics in advance and pre-determining the most appropriate target core based on current system state, the system avoids context mismatch and reduces latency while maintaining balanced core utilization

Inventive Principle:
Principle #10Preliminary action

3Power

If the number of processor cores increases, then processing capacity increases, but interrupt distribution complexity and latency increase

Engineering Contradiction:
Improveprocessing capacityVSAvoidinterrupt latency
Core Design Contradiction:
PowerVSLoss of time

Solution Approach 1:

The patent implements a dynamic interrupt steering mechanism that scales efficiently with the number of cores. The system adapts to any configuration of processor cores by continuously monitoring utilization metrics across all cores and dynamically selecting appropriate target cores, making the interrupt distribution mechanism scalable without increasing latency

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9710408B2Source core interrupt steering
Publication Date: 2017.07.18 INTEL CORP
  • US9710408B2 patent drawing
  • US9710408B2 patent drawing
  • US9710408B2 patent drawing

AI summary

An embodiment of the invention includes (i) receiving a core identifier that corresponds with a processor source core; (ii) receiving an input/output request, produced from the source core, that is associated with the core identifier; (iii) and directing an interrupt, which corresponds to the request, to the source core based on the core identifier. Other embodiments are described herein.