Affiliation:
1. The University of Hong Kong, Pokfulam, Hong Kong
Abstract
While CPU architectures are incorporating many more cores to meet ever-bigger workloads, advance in fault-tolerance support is indispensable for sustaining system performance under reliability constraints. Emerging non-volatile memory technologies are yielding fast, dense, and energy-efficient NVRAM that can dethrone SSD drives for persisting data. Research on using NVRAM to enable fast in-memory data persistence is ongoing. In this work, we design and implement a persistent object framework, dubbed
scalable in-memory persistent object (SIMPO)
, which exploits NVRAM, alongside DRAM, to support efficient object persistence in highly threaded big data applications. Based on operation logging, we propose a new programming model that classifies functions into instant and deferrable groups. SIMPO features a streamlined execution model, which allows lazy evaluation of deferrable functions and is well suited to big data computing workloads that would see improved data locality and concurrency. Our log recording and checkpointing scheme is effectively optimized towards NVRAM, mitigating its long write latency through write-combining and consolidated flushing techniques. Efficient persistent object management with features including safe references and memory leak prevention is also implemented and tailored to NVRAM. We evaluate a wide range of SIMPO-enabled applications with machine learning, high-performance computing, and database workloads on an emulated hybrid memory architecture and a real hybrid memory machine with NVDIMM. Compared with native applications without persistence, experimental results show that SIMPO incurs less than 5% runtime overhead on both platforms and even gains up to 2.5× speedup and 84% increase in throughput in highly threaded situations on the two platforms, respectively, thanks to the streamlined execution model.
Publisher
Association for Computing Machinery (ACM)
Subject
Hardware and Architecture,Information Systems,Software
Reference46 articles.
1. Bill Bridge. 2005. NVM-direct library. Retrieved from https://github.com/oracle/NVM-Direct. Bill Bridge. 2005. NVM-direct library. Retrieved from https://github.com/oracle/NVM-Direct.
2. The GemStone object database management system
Cited by
8 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Chipmunk: Investigating Crash-Consistency in Persistent-Memory File Systems;Proceedings of the Eighteenth European Conference on Computer Systems;2023-05-08
2. ASAP;Proceedings of the 49th Annual International Symposium on Computer Architecture;2022-06-11
3. Preserving Addressability Upon GC-Triggered Data Movements on Non-Volatile Memory;ACM Transactions on Architecture and Code Optimization;2022-03-24
4. Spring Buddy: A Self-Adaptive Elastic Memory Management Scheme for Efficient Concurrent Allocation/Deallocation in Cloud Computing Systems;2021 IEEE 27th International Conference on Parallel and Distributed Systems (ICPADS);2021-12
5. (Almost) Fence-less Persist Ordering;2020 53rd Annual IEEE/ACM International Symposium on Microarchitecture (MICRO);2020-10