Memory Allocator for Remote Data Structure Traversal

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data structures designed for DRAM incur high latency and overhead when migrated to FAM, due to poor suitability and additional metadata operations, leading to inefficient use of remote memory.

Innovation Solution

A novel memory allocator and associated algorithms that store metadata in DRAM for faster traversals of FAM resident data structures, facilitating 64-bit atomic operations and reducing emulation costs, while pre-allocating large buffers in FAM to minimize remote procedure calls and metadata look-ups.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Volume of stationary object

If traditional data structures designed for DRAM are migrated to FAM, then memory capacity is increased through disaggregation, but access latency increases significantly

Engineering Contradiction:
Improvememory capacityVSAvoidaccess latency
Core Design Contradiction:
Volume of stationary objectVSLoss of time

Solution Approach 1:

The data structure is segmented into two parts: metadata stored locally in DRAM and actual data stored remotely in FAM. This segmentation allows frequently accessed metadata to be cached locally, reducing the latency of data structure operations while maintaining the benefits of remote memory capacity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A local descriptor table in DRAM acts as an intermediary between processors and remote data in FAM. The descriptor contains metadata that enables fast local access and decision-making, while the actual data remains in remote memory, thus mediating between the speed requirements of processors and the capacity of remote memory.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Volume of stationary object

If data structures are stored in FAM, then memory capacity is expanded, but overhead for metadata operations increases

Engineering Contradiction:
Improvememory capacityVSAvoidmetadata operation overhead
Core Design Contradiction:
Volume of stationary objectVSDevice complexity

Solution Approach 1:

Metadata is extracted from the remote FAM storage and placed in local DRAM. This extraction eliminates the need for repeated remote access operations for metadata, reducing the overhead complexity of data structure operations while preserving the expanded memory capacity of FAM.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Metadata is preliminarily loaded into local DRAM before data structure operations are performed. This preliminary action prepares the necessary information locally, avoiding the need for complex remote procedure calls and metadata look-ups during actual data operations.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If data structures are stored in FAM, then persistent memory and improved availability are achieved, but traversal speed decreases

Engineering Contradiction:
Improvedata availabilityVSAvoidtraversal speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

Different parts of the data structure have different storage locations: metadata with high access frequency is stored locally in DRAM for fast traversal, while actual data is stored remotely in FAM for persistence and availability. This local quality differentiation optimizes both traversal speed and reliability.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11797178B2System and method for facilitating efficient management of data structures stored in remote memory
Publication Date: 2023.10.24 HEWLETT PACKARD ENTERPRISE DEV LP
  • US11797178B2 patent drawing
  • US11797178B2 patent drawing
  • US11797178B2 patent drawing

AI summary

A system and method are provided for facilitating efficient management of data structures stored in remote memory. During operation, the system receives a request to allocate memory for a first part in a data structure stored in a remote memory associated with a compute node in a network. The system pre-allocates a buffer in the remote memory for a plurality of parts in the data structure and stores a first local descriptor associated with the buffer in a local worker table stored in a volatile memory of the compute node. The first local descriptor facilitates servicing future access requests to the first and other parts in the data structure. The system stores a first global descriptor for the buffer in a shared global table stored in the remote memory and generates a first reference corresponding to the first part, thereby facilitating faster traversals of the data structure.