Network Interface Receive Side Scaling Packet Distribution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current network communication systems face inefficiencies due to latency associated with processing protocol stacks, particularly because receive side scaling (RSS) features do not fully utilize advanced network speeds by limiting receive bandwidth to the processing capabilities of a single processor.

Innovation Solution

Implementing a computer system with multiple network interfaces and processors that utilize receive side scaling (RSS) to direct packets across multiple processors, allocating packets among multiple processors and network interfaces through a flow diagram that includes packet buffer management, descriptor allocation, and load balancing techniques to optimize processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If receive side scaling (RSS) is implemented to direct packets across multiple processors, then network communication efficiency is improved, but system complexity increases due to multiple network interfaces and processors requiring coordination

Engineering Contradiction:
Improvenetwork communication efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the network processing workload by dividing packet handling across multiple processors, with each processor having dedicated network interface cards (NICs) and queues. This segmentation allows parallel processing of network packets, improving throughput while maintaining manageable complexity through clear division of responsibilities among processors, NICs, and queue structures.

Inventive Principle:
Principle #1Segmentation

2Speed

If packets are distributed across multiple processors to overcome latency, then processing speed is improved, but packet allocation complexity increases requiring flow diagram management

Engineering Contradiction:
Improveprocessing speedVSAvoidpacket allocation complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent implements preliminary action by pre-establishing queue structures and descriptor templates before packet processing begins. Packet allocation follows predetermined flow diagrams and hashing algorithms that determine processor assignment in advance, eliminating the need for complex real-time decisions during packet processing and enabling high-speed parallel handling.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If network interface devices support RSS to scale received traffic, then receive bandwidth is improved, but latency from protocol stack processing remains a bottleneck

Engineering Contradiction:
Improvereceive bandwidthVSAvoidprotocol processing latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments the protocol processing workload across multiple processors, with each processor handling specific packets from its assigned queues. This parallel processing approach allows simultaneous protocol stack processing across multiple cores, dramatically reducing overall latency while maintaining high receive bandwidth through the distributed queue architecture.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8098676B2Techniques to utilize queues for network interface devices
Publication Date: 2012.01.17 TAHOE RES LTD
  • US8098676B2 patent drawing
  • US8098676B2 patent drawing
  • US8098676B2 patent drawing

AI summary

Techniques to allocate packets for processing among multiple processor(s). In an embodiment, capability to receive packets from a plurality of network interfaces may be provided, where each of the network interfaces is associated with at least one receive queue. the plurality of network interfaces may use any of the receive queues. Packet processing may be performed among a plurality of processors. Other embodiments are also disclosed.