UniHeap: Managing Persistent Objects Across Managed Runtimes for Non-Volatile Memory
Daixuan Li, Benjamin Reidys, Jinghan Sun, Thomas Shull, Josep, Torrellas, Jian Huang

TL;DR
UniHeap introduces a unified, cross-language persistent object management framework for non-volatile memory, significantly reducing overhead and enabling shared persistent objects across managed runtimes like JVM, Python, and JavaScript.
Contribution
It proposes a generic, cross-language persistent object model and a log-structured shared heap that improves performance and interoperability in managed NVM environments.
Findings
Significantly outperforms existing object sharing approaches.
Achieves low overhead across multiple managed runtimes.
Supports diverse applications like key-value stores and databases.
Abstract
Byte-addressable, non-volatile memory (NVM) is emerging as a promising technology. To facilitate its wide adoption, employing NVM in managed runtimes like JVM has proven to be an effective approach (i.e., managed NVM). However, such an approach is runtime specific, which lacks a generic abstraction across different managed languages. Similar to the well-known filesystem primitives that allow diverse programs to access same files via the block I/O interface, managed NVM deserves the same system-wide property for persistent objects across managed runtimes with low overhead. In this paper, we present UniHeap, a new NVM framework for managing persistent objects. It proposes a unified persistent object model that supports various managed languages, and manages NVM within a shared heap that enables cross-language persistent object sharing. UniHeap reduces the object persistence overhead by…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Data Storage Technologies · Parallel Computing and Optimization Techniques · Distributed systems and fault tolerance
