Memory Allocator for Remote Data Structure Traversal
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Volume of stationary object
If data structures are stored in FAM, then memory capacity is expanded, but overhead for metadata operations increases
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.
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.
3Reliability
If data structures are stored in FAM, then persistent memory and improved availability are achieved, but traversal speed decreases
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.
Data Source
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.


