RSS Indirection Table for Network Packet Processor Assignment

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current information handling systems face inefficiencies in processing and optimizing network traffic due to limitations in receive side scaling (RSS) capabilities, which restrict the number of processors that can handle network traffic and lead to suboptimal processor utilization.

Innovation Solution

Implementing receive side scaling (RSS) in information handling systems by using a network interface that dynamically assigns network traffic to idle or lightly loaded processors through a combination of hardware and software interrupts, hashing functions, and indirection tables to optimize processor utilization and network traffic flow.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If receive side scaling (RSS) is implemented to handle network traffic, then processor utilization is improved, but the number of processors that can handle network traffic is limited

Engineering Contradiction:
Improvenetwork traffic processing efficiencyVSAvoidnumber of processors handling network traffic
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent segments network traffic into multiple queues and assigns each queue to a specific processor core through RSS configuration. This allows network traffic to be divided and distributed across multiple processors, increasing both the number of processors handling traffic and overall processing efficiency without requiring a complete redesign of the network interface.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic processor assignment where the system can adaptively select which processors handle network traffic based on current system state and workload conditions. This dynamic approach increases adaptability while maintaining high processor utilization through RSS mechanisms.

Inventive Principle:
Principle #15Dynamics

2Device complexity

If traditional interrupt handling is used for network packets, then simplicity is maintained, but processor utilization and network traffic optimization are limited

Engineering Contradiction:
Improveinterrupt handling mechanismVSAvoidprocessor utilization
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent segments the interrupt handling process by implementing per-queue interrupts through RSS, where each network queue has its own interrupt vector. This segmentation allows multiple processors to be notified of network traffic independently, improving processor utilization while maintaining relatively simple interrupt handling logic through standard MSI-X or MSI mechanisms.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an indirection table as an intermediary between the network interface and processor interrupts. This table maps network queues to specific processor IDs, enabling efficient interrupt routing without complex handling logic. The indirection table acts as a mediator that translates network traffic into appropriate processor notifications.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10007544B2Network traffic control by association of network packets and processes
Publication Date: 2018.06.26 DELL PROD LP

AI summary

An information handling system includes a plurality of processors that each includes a cache memory, and a receive side scaling (RSS) indirection table with a plurality of pointers that each points to one of the processors. One or more network interface cards interface with the plurality of processors to receive information from a network. A hypervisor executes on one or more of the processors to support execution of virtual machines and coordinates information received at the network interface cards based upon an association between the information and virtual processors of the virtual machines, the virtual processors having identifiers.