Virtualized Receive Descriptors for Network Interface Controllers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current network interface controllers (NICs) do not provide virtualization of receive descriptors, leading to inefficient packet processing as context information is lost between the NIC and the target system, requiring repeated processing stages to reproduce context information.

Innovation Solution

The system and method for providing virtualized receive descriptors allow guest systems to specify customized formats for receive descriptors, which are then built and stored by the NIC, enabling efficient packet processing by including context information directly in the descriptors.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If current NICs do not provide virtualization of receive descriptors, then device complexity is reduced, but packet processing performance deteriorates due to lost context information requiring repeated processing

Engineering Contradiction:
Improvepacket processing performanceVSAvoidreceive descriptor virtualization complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The receive descriptor is segmented into multiple parts: a header portion containing context information (packet length, packet type, VLAN ID, etc.) and a data portion. This segmentation allows the context information to be preserved and reused, eliminating the need for repeated processing while maintaining manageable descriptor structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Context information is extracted and stored in the receive descriptor header during the initial packet reception phase, before the target system needs to process the packet. This preliminary action preserves the context information that would otherwise be lost, enabling efficient subsequent processing without reproduction.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If customized receive descriptor formats are provided to each guest system, then packet processing efficiency improves, but device complexity and memory requirements increase

Engineering Contradiction:
ImproveCPU utilizationVSAvoidreceive descriptor management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

A universal receive descriptor format is designed that can serve multiple guest systems with different requirements. The descriptor includes flexible fields that can be customized through profiles, allowing one descriptor structure to fulfill multiple functions for different virtual machines without requiring separate descriptor formats for each.

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

Solution Approach 2:

The receive descriptor format allows parameter changes through configurable profiles that specify different formats for different guest systems. Parameters such as packet length, packet type, and VLAN ID handling can be adjusted per guest system requirements while maintaining a consistent underlying structure, enabling customization without proportionally increasing complexity.

Inventive Principle:
Principle #35Parameter changes

3Loss of information

If context information is included in receive descriptors, then information loss is eliminated, but descriptor size and memory usage increase

Engineering Contradiction:
Improvecontext information retentionVSAvoidmemory usage
Core Design Contradiction:
Loss of informationVSQuantity of substance

Solution Approach 1:

Context information is extracted from the packet data and placed into a dedicated header portion of the receive descriptor. This extraction concentrates the essential context information (packet length, type, VLAN ID, checksum status) in a compact format, preventing information loss while using minimal additional memory compared to storing full packet copies.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Only the essential context information required for efficient packet processing is included in the receive descriptor header, rather than duplicating the entire packet. This partial action includes just the critical fields needed to avoid repeated processing, balancing information retention with memory efficiency.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10673750B2System and method for virtualized receive descriptors
Publication Date: 2020.06.02 INTEL CORP
  • US10673750B2 patent drawing
  • US10673750B2 patent drawing
  • US10673750B2 patent drawing

AI summary

There is disclosed in one example a computing apparatus, including: a hardware platform including at least a processor; and one or more memories having encoded thereon instructions to instruct the hardware platform to: receive a request to generate a receive descriptor profile (RDP) for the requestor's network flow; receive at least one parameter for the RDP; generate the RDP from the at least one parameter; and send the RDP to a network interface controller for the requestor.