arrow
返回

HeapBuffers: Why Not Just Using a Binary Serialization Format for Your Managed Memory?

delete2025-10-01
delete0
PRE
AI
D
Daniele Bonetta *
L
Loff, Junior
M
Matteo Basso
W
Walter Binder
DOI:10.1145/3763175delete
delete原文链接
delete原文求助
delete分享
delete收藏
摘要

摘要

En 中文
在现代云应用中,数据序列化与反序列化(DSD)是常见但开销较大的操作。Java等语言因采用托管内存,其DSD操作会产生显著开销,这是因为它们使用一种与I/O不兼容、稀疏且平台相关的数据布局来存储对象。语言虚拟机(VM)能否通过直接操作IO就绪的二进制格式来绕过昂贵的DSD操作?本文通过提出一种名为HeapBuffers的新型Java DSD库来解答这一问题。HeapBuffers通过托管内存维持Java友好的编程模型,但操作的是以密集、平台无关的内存格式存储的数据。通过这种方式,HeapBuffers数据可用于执行IO操作,而无需将对象从VM内部内存表示转换或转换回来,从而消除了昂贵DSD操作的需求。编译器优化与专用垃圾回收相结合,确保访问HeapBuffers数据的效率几乎与处理常规Java对象相当。我们问题的答案在很大程度上是肯定的:实验表明,HeapBuffers数据可以高效访问,并能直接用于执行IO操作,使DSD的成本实际上可忽略不计。使用HeapBuffers的应用程序的IO性能通常比使用现有主流DSD库的应用快几个数量级。
Keyword:
Data serialization and deserialization
Managed language runtimes
Garbage collection
FlatBuffers

期刊

P
Proceedings of the ACM on Programming Languages-PACMPL
IF:
2.8
论文数:
308
被引数:
4.7K

机构

U
Universita della Svizzera Italiana
学者数:
3.3K
论文数: 2.8K
被引数: 3
V
vrije universiteit amsterdam
学者数:
3.1K
论文数: 1.4K
被引数: 0
引用论文

引用论文

Chitu
err2023-10-31
err0
errOAAI
errZhengyu Lei; Xiao Shi; Cunchi Lv; Xiaobing Yu; Xiaofang Zhao
err分享
err收藏
Profiling a warehouse-scale computer
err2015-06-13
err0
errOAAI
errSvilen Kanev; Juan Pablo Darago; Kim Hazelwood; Parthasarathy Ranganathan; Tipp Moseley; Gu-Yeon Wei; David Brooks
err分享
err收藏
The Tail at Scale在规模的尾巴
err2013-02-01
err1.2K
PREAI
errDean, Jeffrey; Barroso, Luiz Andre
err分享
err收藏
err
IF0
err
err0
PREAI
err
err分享
err收藏
Skyway
err2018-03-19
err0
PREAI
errNguyen,Khanh; Fang,Lu; Navasca,Christian; Xu,Guoqing; Demsky,Brian; Lu,Shan
err分享
err收藏
PipeJSON: Parsing JSON at Line Speed on FPGAs
err2022-06-12
err0
PREAI
errDann,Jonas; Wagner,Royden; Ritter,Daniel; Faerber,Christian; Froening,Holger
err分享
err收藏
Mison
err2017-06-01
err0
PREAI
errYinan Li; Nikos R. Katsipoulakis; Badrish Chandramouli; Jonathan Goldstein; Donald Kossmann
err分享
err收藏
学者 查看更多内容