论文标题

Uniheap:在托管运行时管理持续的对象,以进行非易失性内存

UniHeap: Managing Persistent Objects Across Managed Runtimes for Non-Volatile Memory

论文作者

Li, Daixuan, Reidys, Benjamin, Sun, Jinghan, Shull, Thomas, Torrellas, Josep, Huang, Jian

论文摘要

Byte-Addressable,可非易失性记忆(NVM)正在成为一种有前途的技术。为了促进其广泛的采用,在像JVM这样的托管运行时使用NVM已被证明是一种有效的方法(即托管NVM)。但是,这种方法是特定于运行时的方法,它缺乏不同的托管语言的通用抽象。类似于允许各种程序通过块I/O接口访问相同文件的著名文件系统基础,托管NVM值得在托管运行时持续的对象具有相同的系统范围属性,而持续的对象则具有低开销的托管运行时间。 在本文中,我们提出了Uniheap,这是一个用于管理持久对象的新型NVM框架。它提出了一个支持各种托管语言的统一持久对象模型,并在共享堆中管理NVM,以实现跨语言持续的对象共享。 Uniheap通过以日志结构的方式管理共享堆,并在垃圾集合期间合并对象更新,从而减少了对象持久性开销。我们将Uniheap作为通用框架实施,并将其扩展到包括Hotspot JVM,Cpython和JavaScript Engine Spidermonkey在内的不同托管运行时。我们通过各种应用程序评估Uniheap,例如密钥值商店和交易数据库。我们的评估表明,Uniheap的表现明显优于最先进的对象共享方法,同时将可忽略的开销引入了托管运行时。

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 managing the shared heap in a log-structured manner and coalescing object updates during the garbage collection. We implement UniHeap as a generic framework and extend it to different managed runtimes that include HotSpot JVM, cPython, and JavaScript engine SpiderMonkey. We evaluate UniHeap with a variety of applications, such as key-value store and transactional database. Our evaluation shows that UniHeap significantly outperforms state-of-the-art object sharing approaches, while introducing negligible overhead to the managed runtimes.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源