NIC Receive Buffer Allocation for Burst and Elephant Flows
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
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
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.
Data Source
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.


