4.4 Article

Efficient Distributed Memory Management with RDMA and Caching

Journal

PROCEEDINGS OF THE VLDB ENDOWMENT
Volume 11, Issue 11, Pages 1604-1617

Publisher

ASSOC COMPUTING MACHINERY
DOI: 10.14778/3236187.3236209

Keywords

-

Funding

  1. National Research Foundation, Prime Ministers Office, Singapore, under its Competitive Research Programme (CRP) [NRF CRP8-2011-08]
  2. National Basic Research Program (973 Program) [2015CB352400]

Ask authors/readers for more resources

Recent advancements in high-performance networking interconnect significantly narrow the performance gap between intra-node and inter-node communications, and open up opportunities for distributed memory platforms to enforce cache coherency among distributed nodes. To this end, we propose GAM, an efficient distributed in-memory platform that provides a directory-based cache coherence protocol over remote direct memory access (RDMA). GAM manages the free memory distributed among multiple nodes to provide a unified memory model, and supports a set of user-friendly APIs for memory operations. To remove writes from critical execution paths, GAM allows a write to be reordered with the following reads and writes, and hence enforces partial store order (PSO) memory consistency. A light-weight logging scheme is designed to provide fault tolerance in GAM. We further build a transaction engine and a distributed hash table (DHT) atop GAM to show the ease-of-use and applicability of the provided APIs. Finally, we conduct an extensive micro benchmark to evaluate the read/write/lock performance of GAM under various workloads, and a macro benchmark against the transaction engine and DHT. The results show the superior performance of GAM over existing distributed memory platforms.

Authors

I am an author on this paper
Click your name to claim this paper and add it to your profile.

Reviews

Primary Rating

4.4
Not enough ratings

Secondary Ratings

Novelty
-
Significance
-
Scientific rigor
-
Rate this paper

Recommended

No Data Available
No Data Available