NIC Buffer Size Adjustment via Moving Window

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Network interface controllers (NICs) face inefficiencies in memory allocation due to over-allocation of buffers for incoming data packets, as the buffer size is not dynamically adjusted to match the varying sizes of packets, leading to unnecessary memory consumption.

Innovation Solution

The receive buffer size for NICs is adjusted based on the K-th largest data packet size among the most recently received N packets, where K and N are positive integers, using a NIC buffer manager component that implements a moving window mechanism to track packet sizes and adjust the buffer size accordingly.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If a fixed buffer size is allocated for NIC receive operations, then memory allocation is simple and deterministic, but memory is over-allocated when packet sizes vary, leading to wasted memory resources

Engineering Contradiction:
Improvememory wastageVSAvoidbuffer management complexity
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The patent implements dynamic buffer size adjustment by continuously monitoring incoming packet sizes and adapting the buffer allocation accordingly. The buffer manager component dynamically modifies the buffer size parameter based on observed packet size patterns, transitioning from a static fixed-size allocation to a dynamic adaptive allocation that matches actual network traffic characteristics, thereby reducing memory wastage while maintaining manageable complexity through automated adaptation

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the buffer size parameter from a fixed constant to a variable that adapts based on packet size observations. By monitoring the sizes of incoming packets and adjusting the buffer size parameter dynamically, the system optimizes memory utilization to match actual traffic patterns, reducing over-allocation without requiring complex manual configuration

Inventive Principle:
Principle #35Parameter changes

2Reliability

If the buffer size is increased to accommodate large packets, then all packets can be received without overflow, but smaller packets waste significant buffer space, reducing memory efficiency

Engineering Contradiction:
Improvepacket reception reliabilityVSAvoidmemory usage
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The system dynamically adjusts buffer size based on the actual size of incoming packets rather than using a static oversized buffer. The buffer manager monitors packet sizes in real-time and adapts the buffer allocation dynamically, ensuring that the buffer size matches the current packet being received, thus maintaining reliable packet reception while minimizing memory usage for each specific packet size

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent applies local quality by tailoring the buffer size to the specific packet size being received. Instead of using a uniform oversized buffer for all packets, the system adjusts the buffer size locally to match each packet's actual requirements, ensuring adequate space for large packets while minimizing waste for smaller packets, thereby optimizing the balance between reliability and memory efficiency

Inventive Principle:
Principle #3Local quality

3Quantity of substance

If the buffer size is decreased to match small packets, then memory usage is optimized, but large packets cannot be received completely, causing data loss

Engineering Contradiction:
Improvememory efficiencyVSAvoidpacket reception completeness
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The system employs dynamic buffer size adjustment that responds to the size of incoming packets. The buffer manager continuously monitors packet sizes and adapts the buffer allocation in real-time, ensuring that the buffer size is sufficient for each specific packet being received. This dynamic adaptation maintains packet reception completeness for both small and large packets while optimizing memory efficiency compared to static oversized buffer allocation

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10608963B2Adjusting buffer size for network interface controller
Publication Date: 2020.03.31 RED HAT ISRAEL
  • US10608963B2 patent drawing
  • US10608963B2 patent drawing
  • US10608963B2 patent drawing

AI summary

Systems and methods for adjusting the receive buffer size for network interface controllers. An example method may comprise: maintaining, by a computer system, a moving window referencing a pre-defined number of incoming data packets; responsive to receiving a new data packet, shifting the moving window to include the new data packet while excluding a least recently received data packet; calculating a weighted average value of sizes the incoming data packets referenced by the moving window, wherein a most recently received data packet is associated with a first weight that is higher that a second weight associated with a least recently received data packet; and adjusting, using the weighted average value, a size of a buffer allocated for incoming data packets.