RDMA-Based Memory Allocator for Lock-Free Distributed Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing RDMA-based techniques face challenges in providing fast and efficient lock-free memory allocations and de-allocations across multiple servers in a network, leading to increased latency and reduced throughput.

Innovation Solution

The RDMA-Based Memory Allocator employs RDMA messaging and remote procedure calls (RPC) to manage shared memory across multiple servers, utilizing block allocators and slab allocators to perform lock-free memory operations through RDMA read and atomic compare-and-swap messages, allowing any server to act as both a client and a host for memory allocation and de-allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional RDMA-based techniques are used for memory allocation across multiple servers, then memory operations can be performed remotely, but lock-based synchronization mechanisms are required which increase latency and reduce throughput

Engineering Contradiction:
Improvememory allocation correctnessVSAvoidmemory allocation latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent extracts the locking mechanism from the memory allocation process entirely. Instead of using traditional lock-based synchronization, the invention employs RDMA atomic operations (compare-and-swap) that enable lock-free memory allocation and deallocation across distributed servers, thereby eliminating lock contention and reducing latency while maintaining allocation correctness

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces metadata structures (block headers, free slab maps) as intermediaries that facilitate atomic memory operations. These metadata structures enable the RDMA atomic compare-and-swap operations to function correctly without locks by providing the necessary state information and atomicity guarantees for distributed memory management

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If CPU intervention is used for memory management operations across networked servers, then coordination and synchronization can be achieved, but system throughput is reduced and latency increases

Engineering Contradiction:
Improvememory coordinationVSAvoidmemory management throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent enables memory management operations to be self-servicing through RDMA atomic operations. The system performs memory allocation and deallocation automatically using RDMA read and atomic compare-and-swap messages without requiring CPU intervention on either the client or host side, thereby eliminating CPU bottlenecks and maximizing throughput while maintaining proper coordination through atomic operations

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces the mechanical CPU-based synchronization system with an RDMA-based atomic operation system. Instead of using CPU instructions for locking and synchronization, the invention uses hardware-supported RDMA atomic operations that execute at the network interface level, substituting the traditional CPU-mediated coordination mechanism with a more efficient RDMA-based approach

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Productivity

If lock-free memory allocation is implemented using RDMA messaging, then latency is reduced and throughput improves, but the system complexity increases

Engineering Contradiction:
Improvememory allocation throughputVSAvoidmemory management system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the memory management system into distinct components: block allocators that manage memory blocks and slab allocators that manage memory slabs within blocks. This segmentation allows the complex lock-free operations to be broken down into manageable, modular units with clear responsibilities, reducing overall system complexity while maintaining high throughput through specialized handling of different memory allocation scenarios

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10725963B2Distributed lock-free RDMA-based memory allocation and de-allocation
Publication Date: 2020.07.28 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10725963B2 patent drawing
  • US10725963B2 patent drawing
  • US10725963B2 patent drawing

AI summary

An “RDMA-Based Memory Allocator” applies remote direct memory access (RDMA) messaging to provide fast lock-free memory allocations and de-allocations for shared memory distributed across multiple servers in an RDMA-based network. Alternately, in various implementations, the RDMA-Based Memory Allocator combines RDMA messaging and remote procedure call (RPC) requests to provide fast lock-free memory allocations and de-allocations for shared memory distributed across multiple servers in an RDMA-based network. In either case, any of the networked servers can act as either or both a client for requesting (or releasing) memory allocations and a host for hosting a portion of the distributed memory. Further, any server (including the requesting client) may act as the host for the distributed memory being allocated or de-allocated by any client via RDMA messaging. Advantageously, being lock-free improves overall performance of memory access between networked computers by reducing overall system latency.