Network Interface Controller Context Pointer for Packet Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing packet processing techniques experience delays due to context lookups and inefficient data movement, particularly in high-speed I/O systems, where contextual data is accessed after parsing and involves CPU cycles and cache misses, leading to pipeline stalls and inefficient cache usage.

Innovation Solution

Implementing a context-assisted data movement algorithm that uses a shared context between hardware and software I/O processing pipelines, where a network interface controller performs context lookups and returns a shared context pointer, allowing for early prefetching of contextual data into the highest level caches, reducing the need for software lookups and minimizing cache misses.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If context lookups are performed after packet parsing by host software, then contextual data can be accessed, but data movement delays occur due to copying context from memory into cache

Engineering Contradiction:
Improvepacket processing timeVSAvoiddata movement efficiency
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The patent applies preliminary action by performing context lookups and data movement operations before packet processing begins. The network interface controller performs context lookups during packet reception and initiates data movement to cache memory ahead of time, so that contextual data is already available when the CPU needs to process the packet, eliminating delays caused by post-parsing data movement

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary mechanism - a context pointer passed through a descriptor from the network interface controller to the host CPU. This intermediary enables the CPU to directly access contextual data in cache memory without requiring additional data movement operations, as the context pointer provides direct access paths to pre-positioned contextual information

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If contextual data is accessed after parsing is completed, then data can be retrieved, but cache misses occur leading to pipeline stalls

Engineering Contradiction:
Improvedata access reliabilityVSAvoiddata access speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The system performs preliminary context lookups and data movement operations before packet processing begins. The network interface controller identifies required contextual data during packet reception and transfers it to cache memory in advance, ensuring that when the CPU accesses the data during processing, it is already present in cache, eliminating cache misses and pipeline stalls

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the packet processing workflow into distinct phases: context lookup phase performed by the network interface controller during packet reception, and packet processing phase performed by the CPU. This segmentation allows the controller to prepare contextual data independently before the CPU needs it, improving both reliability of data availability and speed of access

Inventive Principle:
Principle #1Segmentation

3Ease of operation

If host software performs parsing and context lookup, then contextual data is obtained, but CPU cycles are consumed and cache usage is inefficient

Engineering Contradiction:
Improvesoftware processing capabilityVSAvoidCPU cycle consumption
Core Design Contradiction:
Ease of operationVSUse of energy by moving object

Solution Approach 1:

The patent introduces a descriptor as an intermediary data structure that carries the context pointer from the network interface controller to the host CPU. This intermediary mechanism enables the CPU to directly access contextual data in cache memory without requiring additional data movement operations, reducing CPU cycle consumption while maintaining software processing capability

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The network interface controller performs self-service by autonomously performing context lookups and initiating data movement operations without requiring CPU intervention. The controller independently retrieves contextual data from memory and transfers it to cache, reducing the burden on CPU resources while maintaining ease of software operation

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10951525B2Availability of context information for packet processing
Publication Date: 2021.03.16 INTEL CORP
  • US10951525B2 patent drawing
  • US10951525B2 patent drawing
  • US10951525B2 patent drawing

AI summary

Some examples provide for storage of context information in memory in the process of creating a network connection and subsequent availability of the context information. A context address can refer to context for a packet processing path. A host can provide a context address and associated packet characteristics to a network interface device. If the network interface device receives a packet with the characteristics, the context address can be passed to the host and the host can retrieve the context information using the context address.