Programmable Mask Packet Distribution for Multi-Processor Scaling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current Receive Side Scaling (RSS) technologies in multi-processor systems are limited to supporting only a few protocols, leading to bottlenecks as unsupported protocols are processed by a default processor, resulting in inefficient packet processing.

Innovation Solution

Implementing a method that uses protocol tables and hash functions to dynamically determine which processor should process a packet based on its characteristics, allowing for flexible and extensible protocol support by customizing hash values and distribution across multiple processors.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If current RSS designs are used with limited protocol support, then the system structure remains simple, but packet processing efficiency deteriorates due to bottlenecks at the default processor

Engineering Contradiction:
Improvepacket processing efficiencyVSAvoidprotocol support complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces programmable masks as a parameter mechanism that allows dynamic configuration of packet classification criteria. By changing the mask parameters, the system can adapt to different protocols without structural modifications, enabling efficient processing of previously unsupported protocols while maintaining the existing RSS framework.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent implements dynamic protocol support through programmable masks that can be configured at runtime. This allows the system to adapt its packet processing behavior dynamically based on the protocol type, transitioning from a static, fixed protocol support model to a dynamic, configurable model that can handle diverse protocols efficiently.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If more protocols are added to RSS support, then protocol versatility improves, but the complexity of packet processing increases

Engineering Contradiction:
Improveprotocol versatilityVSAvoidpacket processing complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent creates a universal packet processing mechanism using programmable masks that can handle multiple protocols through a single unified approach. Instead of implementing separate processing logic for each protocol, the system uses a universal mask-based classification mechanism that works across all supported protocols, thereby achieving protocol versatility without proportionally increasing complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

By using programmable masks as configurable parameters, the system achieves protocol versatility through parameter adjustment rather than structural expansion. Different protocols are supported by modifying the mask values and packet field selections, allowing the same processing infrastructure to adapt to various protocol requirements without adding computational complexity.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If packets not conforming to supported protocols are sent to default processor, then implementation simplicity is maintained, but system performance deteriorates due to processor bottlenecks

Engineering Contradiction:
Improvesystem performanceVSAvoidimplementation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent enables the system to recognize and properly route packets of previously unsupported protocols by configuring programmable masks. This allows the system to transition from a state where unknown protocols are defaulted to a state where they can be explicitly classified and distributed, improving performance without requiring complete redesign of the RSS implementation.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8874767B2Enqueuing received network packets based, at least in part, on at least one programmable mask
Publication Date: 2014.10.28 INTEL CORP
  • US8874767B2 patent drawing
  • US8874767B2 patent drawing
  • US8874767B2 patent drawing

AI summary

In an embodiment, a method is provided. The method of this embodiment provides in response to receiving a packet, looking up a packet characteristic in one of at least one protocol table to determine one or more fields of the packet to use as a hash value, applying a hash function to the hash value to obtain a hash result, and using the hash result to determine one of a plurality of processors on which to process the packet.