Software Switch NIC Buffering for Bandwidth Bottlenecks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software-based network switches in access networks face limitations in switching capacity due to high system bus bandwidth consumption from frequent data packet transfers between the Network Interface Card (NIC), RAM, and CPU, leading to bottlenecks and increased capital and operational expenditures.

Innovation Solution

Storing incoming data packets in a local buffer within the NIC, selectively extracting and storing header fields in another buffer, assigning a common identifier, and allowing direct access and modification of these fields by the CPU for processing, thereby reducing the need for extensive system bus usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data packets are frequently transferred from NIC to RAM and then to CPU through the system bus in software-based switches, then packet processing can be performed, but system bus bandwidth is considerably consumed leading to limited switching capacity

Engineering Contradiction:
Improveswitching capacityVSAvoidsystem bus bandwidth consumption
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent segments the data packet into two parts: header fields and payload. Only the header fields are transferred to the CPU for processing, while the payload remains in the NIC's local buffer. This segmentation reduces the amount of data transferred over the system bus from the entire packet to just the header portion, significantly lowering bandwidth consumption while maintaining processing capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts only the necessary header fields from the complete data packet and transfers them to the CPU. The header fields contain the essential information needed for switching decisions (such as destination address, protocol type), while the payload is excluded from the transfer. This extraction approach minimizes system bus usage while preserving the functionality needed for packet routing.

Inventive Principle:
Principle #2Taking out (Extraction)

2Adaptability or versatility

If general-purpose hardware is used for software-based switching, then flexibility and ease of implementation are improved, but switching capacity is limited due to system bus bandwidth constraints

Engineering Contradiction:
Improvesoftware-based switching flexibilityVSAvoidswitching capacity
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent introduces a new dimension of operation by enabling the NIC to perform header field extraction and processing independently of the CPU. This creates a parallel processing dimension where the NIC handles data preparation and the CPU handles decision-making, allowing the system to achieve higher switching capacities while maintaining software-based flexibility. The NIC's local buffer and DMA capabilities are utilized to bypass the system bus bottleneck.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Reliability

If complete data packets are transferred from NIC to CPU for processing, then accurate packet handling is achieved, but system bus bandwidth is excessively consumed

Engineering Contradiction:
Improvepacket processing accuracyVSAvoidsystem bus bandwidth
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent applies local quality by assigning different processing modes to different parts of the data packet. The header fields are extracted and transferred to the CPU for accurate processing, while the payload remains in the NIC's local buffer and is handled by the NIC's DMA engine. This differentiated approach ensures that the critical header information receives CPU attention for accurate routing decisions, while the bulk payload is efficiently transferred without consuming excessive bus bandwidth.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10848424B2Method and system for improving switching capacity of software-based switches in access networks
Publication Date: 2020.11.24 WIPRO LTD
  • US10848424B2 patent drawing
  • US10848424B2 patent drawing
  • US10848424B2 patent drawing

AI summary

This disclosure relates to a method of improving switching capacity in a software-based network switch. The method may involve storing a data packet in a first local buffer, storing one or more header fields of the data packet in a second local buffer. A common identifier may be assigned to the data packet stored in the first local buffer and the one or more header fields stored in the second local buffer. The one or more header fields may be directly sent from the NIC to the CPU for the data packet processing. At least one header field of the one or more header fields may be modified by the CPU. Further, the one or more header fields may be overwritten with the at least one modified header field in the data packet stored in the first local buffer of the NIC based on the common identifier.