NIC Receive Buffer Allocation for Burst and Elephant Flows

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Network communications face inefficiencies due to idle or unused receive buffers in network devices, particularly during bursts or elephant flows, leading to suboptimal performance and resource wastage.

Innovation Solution

Implement a system with dynamic receive-buffer allocation based on traffic patterns, using low and high watermark thresholds to manage buffer allocation dynamically, ensuring fairness across devices and optimizing resource usage during both non-burst and burst traffic conditions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If receive buffers are pre-allocated for each receive queue, then memory availability is guaranteed for network operations, but resource wastage occurs during idle periods and suboptimal performance results during traffic bursts

Engineering Contradiction:
Improvememory availabilityVSAvoidresource wastage
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent implements dynamic buffer allocation where the buffer allocation manager continuously monitors traffic patterns and adjusts receive queue buffer allocations in real-time. During idle periods, buffers are reduced to minimize wastage; during traffic bursts, buffers are increased to ensure memory availability and maintain performance. This dynamic adjustment resolves the contradiction between guaranteeing memory availability and preventing resource wastage.

Inventive Principle:
Principle #15Dynamics

2Device complexity

If fixed buffer allocation is used for each receive queue, then system simplicity is maintained, but performance degradation occurs during traffic bursts due to insufficient buffer availability

Engineering Contradiction:
Improvesystem simplicityVSAvoidnetwork performance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The buffer allocation manager autonomously monitors traffic patterns and performs buffer allocation adjustments without requiring complex external control mechanisms. The system self-regulates buffer allocation based on observed traffic conditions, maintaining simplicity while improving performance during bursts. This self-service approach avoids the complexity of manual or centralized buffer management while achieving adaptive performance optimization.

Inventive Principle:
Principle #25Self-service

3Productivity

If total buffer pool size is increased to handle traffic bursts, then performance during bursts is improved, but resource wastage increases during idle periods

Engineering Contradiction:
Improveperformance during burstsVSAvoidresource wastage during idle periods
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent changes the buffer allocation parameter dynamically based on traffic conditions. Instead of using a fixed large buffer pool that causes wastage during idle periods, the system adjusts the effective buffer size parameter in response to traffic patterns. During bursts, the buffer allocation manager allocates more buffers from the available pool; during idle periods, it reduces allocations. This parameter change strategy maintains performance during bursts while minimizing wastage during idle times.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS20260019386A1Buffer allocation for network devices
Publication Date: 2026.01.15 MELLANOX TECHNOLOGIES LTD(IL)
  • US20260019386A1 patent drawing
  • US20260019386A1 patent drawing
  • US20260019386A1 patent drawing

AI summary

Systems and methods herein for receive-buffer allocation in a network include at least one network interface controller (NIC) to handle receive requests for communication associated with a device. The at least one NIC can provide a fast path and a slow path for the communication. The slow path may be used for the communication based in part on a rule programmed in the at least one NIC, while one or more further rules in the at least one NIC can enable all of an available receive-buffer allocation for a buffer of the system based in part on burst or elephant flow in the communication, and can enable a threshold receive-buffer allocation that is less than the available receive-buffer allocation for the buffer based in part on at least one predetermined condition.