Elastic RDMA Buffer Management for Dynamic Memory Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Statically apportioned buffers in remote direct memory access (RDMA) systems often lead to underutilization of memory and increased transaction delays due to mismatched buffer sizes and quantities demanded by data sources, resulting in inefficient memory use and processing delays.

Innovation Solution

Implementing demand-based buffer management techniques that monitor payload sizes of RDMA messages to dynamically adjust the apportionment of advertised buffers, allowing for real-time reconfiguration of buffer sizes and quantities to match observed demand, thereby optimizing memory utilization and reducing processing delays.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If buffers are statically apportioned at the data sink, then buffer allocation is simple and deterministic, but memory utilization becomes inefficient and transaction delays increase when demand patterns change

Engineering Contradiction:
Improvebuffer allocation simplicityVSAvoidmemory utilization efficiency
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent implements dynamic buffer apportionment where the data sink monitors payload sizes of RDMA messages and adjusts the数量和sizes of advertised buffers in real-time based on observed demand patterns. This transforms the static buffer allocation into a dynamic system that adapts to changing workload characteristics, resolving the contradiction between allocation simplicity and utilization efficiency.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system employs feedback mechanisms by monitoring the payload sizes of incoming RDMA messages and using this information to adjust buffer apportionment. The data sink observes demand patterns and modifies buffer allocation accordingly, creating a closed-loop control system that optimizes memory utilization while maintaining manageable complexity through automated adjustment.

Inventive Principle:
Principle #23Feedback

2Ease of operation

If buffers are statically apportioned in predefined sizes, then buffer management is straightforward, but RDMA transaction latency increases when buffers are unavailable

Engineering Contradiction:
Improvebuffer management simplicityVSAvoidRDMA transaction latency
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent makes the buffer apportionment dynamic by continuously monitoring payload sizes and adjusting buffer quantities and sizes accordingly. This ensures that the most frequently needed buffer sizes are readily available, reducing wait times for buffer availability while maintaining straightforward management through automated adjustment rather than manual configuration.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system performs preliminary actions by proactively monitoring demand patterns and adjusting buffer apportionment before latency-critical operations are affected. By anticipating buffer needs based on observed payload size patterns, the system prepares appropriate buffers in advance, reducing transaction latency while keeping management simple through automated prediction and preparation.

Inventive Principle:
Principle #10Preliminary action

3Ease of manufacture

If buffer sizes are fixed in powers of two, then memory allocation is efficient and simple, but adaptability to varying payload size requirements is reduced

Engineering Contradiction:
Improvememory allocation efficiencyVSAvoidbuffer size adaptability
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic buffer size selection where the data sink monitors the distribution of payload sizes in RDMA messages and adjusts the sizes of advertised buffers to match observed demand patterns. This allows the system to maintain the efficiency of power-of-two sizing when appropriate while adapting to varying payload requirements by dynamically adjusting which buffer sizes are advertised and in what quantities.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameters of buffer allocation (quantities and sizes) based on monitored payload size patterns. By adjusting these parameters dynamically rather than fixing them statically, the system maintains allocation efficiency while achieving adaptability to varying workload characteristics, resolving the contradiction between simple allocation and versatile adaptation.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10824369B2Elastic method of remote direct memory access memory advertisement
Publication Date: 2020.11.03 NUTANIX INC
  • US10824369B2 patent drawing
  • US10824369B2 patent drawing
  • US10824369B2 patent drawing

AI summary

Systems and methods for demand-based remote direct memory access buffer management. A method embodiment commences upon initially partitioning a memory pool at a computer that is to receive memory contents from a sender. The memory pool is partitioned into memory areas that comprise a plurality of different sized buffers that serve as target buffers for one or more direct memory access data transfer operations from the data sources. An initial first set of buffer apportionments are associated with each one of the one or more data sources and those initial sets are advertised to the corresponding data sources. Over time, based on messages that have been loaded into the receiver's memory, the payload sizes of the messages are observed. Based on the observed the demand for buffers that are used for the message payload, the constituency of the advertised buffers can grow or shrink elastically as compared to previous advertisements.