Affiliation:
1. Shanghai Jiao Tong University, Shanghai, China
Abstract
Fast, byte-addressable non-volatile memory (NVM) embraces both near-DRAM latency and disk-like persistence, which has generated considerable interests to revolutionize system software stack and programming models. However, it is less understood how NVM can be combined with managed runtime like Java virtual machine (JVM) to ease persistence management. This paper proposes Espresso, a holistic extension to Java and its runtime, to enable Java programmers to exploit NVM for persistence management with high performance. Espresso first provides a general persistent heap design called Persistent Java Heap (PJH) to manage persistent data as normal Java objects. The heap is then strengthened with a recoverable mechanism to provide crash consistency for heap metadata. Espresso further provides a new abstraction called Persistent Java Object (PJO) to provide an easy-to-use but safe persistence programming model for programmers to persist application data. Evaluation confirms that Espresso significantly outperforms state-of-art NVM support for Java (i.e., JPA and PCJ) while being compatible to data structures in existing Java programs.
Funder
China National Natural Science Foundation
National Key Research & Development Program of China
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference46 articles.
1. DataNucleus. http://www.datanucleus.com/. DataNucleus. http://www.datanucleus.com/.
2. Open source database engines in java. https://java-source.net/open-source/database-engines. Open source database engines in java. https://java-source.net/open-source/database-engines.
3. An orthogonally persistent Java
4. Makalu: fast recoverable allocation of non-volatile memory
5. Persistence programming models for non-volatile memory
Cited by
3 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Transparent and lightweight object placement for managed workloads atop hybrid memories;Proceedings of the 18th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments;2022-02-25
2. Efficient Reboot-Based Recovery of In-Memory Databases;IEICE Transactions on Information and Systems;2021-12-01
3. Compiler-support for Critical Data Persistence in NVM;ACM Transactions on Architecture and Code Optimization;2020-01-10