Multiprocessor Packet Switching for Network Interrupt Distribution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multiprocessor systems, the processor assigned to handle network communications interrupts and protocol stacks often faces a processing burden, leading to delayed responses to NIC interrupts and increased cache miss probabilities when handling data for applications executing on other CPUs.

Innovation Solution

The implementation of a packet switching module that uses a hash function to direct network data across CPUs based on connection and CPU identification data, reducing the processing burden on the primary CPU and ensuring data is routed to the appropriate protocol stack, thereby enhancing system responsiveness and efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a single processor handles all network communications interrupts and protocol stacks, then network communication functionality is maintained, but the processor faces increased processing burden leading to delayed responses and increased cache miss probabilities

Engineering Contradiction:
Improvenetwork communication functionalityVSAvoidprocessor response speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent divides the network communication processing workload across multiple processors in a multiprocessor system. Each processor can handle network interrupts and protocol stack operations independently, segmenting the previously monolithic processing task into parallel sub-tasks that reduce individual processor burden and improve overall system responsiveness.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a message passing interface (MPI) as an intermediary mechanism between processors. When a processor receives a network interrupt, it can pass the interrupt information through MPI to another processor that is better suited to handle it, based on processor affinity or current load conditions, thereby optimizing response time without compromising communication reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Device complexity

If a single processor services all NIC interrupts, then interrupt handling is simplified, but response time to NIC interrupts is delayed due to processing burden

Engineering Contradiction:
Improveinterrupt handling complexityVSAvoidNIC interrupt response time
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The interrupt handling function is segmented across multiple processors. Instead of one processor servicing all NIC interrupts, the system distributes interrupt handling responsibilities among multiple processors, reducing the queue depth and processing burden on any single processor, thereby decreasing interrupt response time while maintaining manageable complexity through standardized interrupt routing protocols.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic interrupt routing where the assignment of NIC interrupts to processors can change based on system conditions. Processors can dynamically take on or release interrupt handling responsibilities based on current load, affinity requirements, and performance metrics, allowing the system to adaptively optimize response time while keeping interrupt handling complexity manageable through policy-based routing.

Inventive Principle:
Principle #15Dynamics

3Stability of the object's composition

If data is passed through a single processor's protocol stack, then protocol processing is consistent, but cache miss probabilities increase when delivering data to applications on different CPUs

Engineering Contradiction:
Improveprotocol processing consistencyVSAvoidcache hit rate
Core Design Contradiction:
Stability of the object's compositionVSReliability

Solution Approach 1:

The patent segments the protocol stack processing across multiple processors, with each processor maintaining its own protocol stack capabilities. This allows data to be processed by the processor that received the interrupt, keeping data locality high and cache hits frequent, while still maintaining protocol processing consistency through standardized protocol implementations across all processors.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by allowing each processor to handle protocol processing locally for interrupts it receives, rather than funneling all traffic through a single processor. This improves cache performance by keeping data processing close to where it is needed, while consistency is maintained through uniform protocol stack implementations across all processors in the multiprocessor system.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS8566467B2Data processing system and method
Publication Date: 2013.10.22 VALTRUS INNOVATIONS LTD
  • US8566467B2 patent drawing
  • US8566467B2 patent drawing
  • US8566467B2 patent drawing

AI summary

Embodiments of the present invention relate a data processing method comprising executing a first application on a first processor of a multiprocessor system and implementing, on the first processor, a first protocol stack supporting a first communication channel, bearing first communication data, associated with the first application; and executing a second application on a second processor of the multiprocessor system and implementing, on the second processor, a second protocol stack supporting a second communication channel, bearing second communication data, associated with the second application.