UniHeap: managing persistent objects across managed runtimes for non-volatile memory

UniHeap: managing persistent objects across managed runtimes for non-volatile memory
复制标题

UniHeap:跨托管运行时管理非易失性内存的持久对象

DOI:
10.1145/3456727.3463775
复制
发表时间:
2021
期刊:
SYSTOR '21: Proceedings of the 14th ACM International Conference on Systems and Storage
影响因子:
--
通讯作者:
Huang, Jian
Huang, Jian
中科院分区:
--
文献类型:
--
作者:
Li, Daixuan;Reidys, Benjamin;Sun, Jinghan;Shull, Thomas;Torrellas, Josep;Huang, Jian

文献摘要

参考文献

被引文献

相似文献

字节可寻址非易失性存储器(NVM)正在成为一种有前途的技术。为了促进其广泛采用,在诸如JVM的托管运行时中采用NVM已被证明是一种有效的方法(即,管理的NVM)。但是,这种方法是特定于运行时的,它缺乏跨不同托管语言的通用抽象。类似于众所周知的文件系统原语,允许不同的程序通过块I/O接口访问相同的文件,托管NVM值得相同的系统范围的属性,跨托管运行时的持久对象与低overhead.In本文中,我们提出了UniHeap,一个新的NVM框架管理持久对象。它提出了一个统一的持久对象模型,支持各种托管语言,并管理NVM内的共享堆,使跨语言的持久对象共享。UniHeap通过以日志结构的方式管理共享堆并在垃圾收集期间合并对象更新来减少对象持久性开销。我们将UniHeap实现为一个通用框架,并将其扩展到不同的托管运行时,包括HotSpot JVM,cPython和JavaScript引擎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, it lacks a generic abstraction across different managed languages. Similar to the well-known filesystem primitives that allow diverse programs to access the same file 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 out-performs state-of-the-art object sharing approaches, while introducing negligible overhead to the managed runtimes.
DOI: 10.1109/isca45697.2020.00055
发表时间: 2020-05
期刊: 2020 ACM/IEEE 47th Annual International Symposium on Computer Architecture (ISCA)
影响因子: --
作者:
Miao Cai;Chance C. Coats;Jian Huang
通讯作者: Miao Cai;Chance C. Coats;Jian Huang
QuickCheck:使用推测来减少 NVM 框架中的检查开销
DOI: --
发表时间: 2019
期刊: International Conference on Virtual Execution Environments
影响因子: --
作者:
Thomas Shull;Jian Huang;J. Torrellas
通讯作者: J. Torrellas
共置托管运行时的跨语言、类型安全和透明的对象共享
DOI: --
发表时间: 2010
期刊: Conference on Object-Oriented Programming Systems, Languages, and Applications
影响因子: --
作者:
Michal Wegiel;C. Krintz
通讯作者: C. Krintz
多语言运行时的高性能跨语言互操作性
DOI: --
发表时间: 2015
期刊: Dynamic Languages Symposium
影响因子: --
作者:
Matthias Grimmer;Chris Seaton;Roland Schatz;Thomas Würthinger;H. Mössenböck
通讯作者: H. Mössenböck
XMem:类型安全、透明、共享内存,用于跨运行时通信和协调
DOI: --
发表时间: 2008
期刊: ACM-SIGPLAN Symposium on Programming Language Design and Implementation
影响因子: --
作者:
Michal Wegiel;C. Krintz
通讯作者: C. Krintz