Network Adapter Packet Coalescing for Throughput Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data communication systems face inefficiencies in processing small packets due to extensive processing, high latency, and degraded throughput, particularly when handling multiple flows with varying packet sizes.

Innovation Solution

The system employs a network adapter that classifies received packets into respective flows and stores their payloads in chunks of a receive buffer, allowing for coalescing of payloads from the same flow into a single chunk, and notifies the communication stack for direct data transfer to the user space.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If packets are processed individually through the communication stack, then each packet is handled with complete protocol processing, but processing time increases and throughput decreases

Engineering Contradiction:
Improveprotocol processing completenessVSAvoidpacket processing throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent merges multiple small packets from the same flow into a single coalesced packet at the network adapter level before transmission to the communication stack. This combining approach reduces the number of individual protocol processing operations required, thereby improving throughput while maintaining protocol correctness through selective coalescing based on flow matching and sequence number validation.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The network adapter performs preliminary packet coalescing and validation actions before packets reach the communication stack. By pre-processing packets at the adapter level (grouping by flow, validating sequence numbers, and merging payloads), the system reduces the processing burden on the communication stack and improves overall system throughput.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If multiple small packets are transmitted, then data can be sent continuously, but header processing overhead increases significantly

Engineering Contradiction:
Improvedata transmission continuityVSAvoidCPU processing overhead
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent combines multiple small packets into larger coalesced packets at the network adapter, reducing the total number of packet headers that need to be processed by the CPU. This merging operation maintains continuous data transmission while significantly reducing the computational overhead associated with repeated header processing.

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If packets from different flows are stored together in the same buffer chunk, then buffer utilization increases, but packet classification and retrieval complexity increases

Engineering Contradiction:
Improvebuffer utilization efficiencyVSAvoidpacket classification complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the receive buffer into multiple chunks, with each chunk dedicated to a specific network flow. This segmentation approach maintains high buffer utilization by fully utilizing each chunk for its assigned flow while simplifying packet classification and retrieval operations, as packets can be quickly identified by their flow-associated chunk location.

Inventive Principle:
Principle #1Segmentation

4Ease of operation

If the network adapter stores complete packet headers for all received packets, then header information is readily available for processing, but memory usage increases

Engineering Contradiction:
Improveheader accessibilityVSAvoidmemory consumption
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The patent extracts and stores only the essential header information (such as sequence numbers and flow identifiers) needed for coalescing decisions, rather than storing complete packet headers for all received packets. This selective extraction approach maintains header accessibility for critical processing functions while significantly reducing overall memory consumption.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS12218860B2Coalescing packets based on hints generated by network adapter
Publication Date: 2025.02.04 MELLANOX TECHNOLOGIES LTD(IL)
  • US12218860B2 patent drawing
  • US12218860B2 patent drawing
  • US12218860B2 patent drawing

AI summary

A network node includes a network adapter and a host. The network adapter is coupled to a communication network. The host includes a processor running a client process and a communication stack, and is configured to receive packets from the communication network, and classify the received packets into respective flows that are associated with respective chunks in a receive buffer, to distribute payloads of the received packets among the chunks so that payloads of packets classified to a given flow are stored in a given chunk assigned to the given flow, and to notify the communication stack of the payloads in the given chunk, for transferring the payloads in the given chunk to the client process.