Efficient Distributed Memory Management with RDMA and Caching

Qingchao Cai,Wentian Guo,Hao Zhang,Divyakant Agrawal,Gang Chen,Beng Chin Ooi,Kian-Lee Tan,Yong Meng Teo,Sheng Wang
DOI: https://doi.org/10.14778/3236187.3236209
IF: 2.5
2018-01-01
Proceedings of the VLDB Endowment
Abstract: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.
What problem does this paper attempt to address?