paperbot · PL 论文追踪

全部论文 待读 收藏

P2 JOSer: Just-In-Time Object Serialization for Heavy Java Serialization Workloads

JOSer:面向重度 Java 序列化工作负载的即时对象序列化
ASPLOS Proceedings of the 31st ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 22026匹配度 2/10 · 该论文属于 Java 运行时/JIT 代码生成与对象序列化优化,偏系统性能工程,与用户关注静态分析、LLM/Agent 交叉、浮点程序分析或贝叶斯程序分析均无直接关系。虽然同属 PL/软件工程且具有工业落地价值,但不命中研究核心问题。引用 0 inbox
Chaokun Yang, Pengbo Nie, Ziyi Lin, Weipeng Wang, Qianwei Yu, Chengcheng Wan, He Jiang, Yuting Chen
crossref: 2026-09-12dblp: 2026-09-12

AI 速览

一句话:提出 JOSer,通过运行时生成类特定序列化代码并借助 JVM JIT 持续优化,显著提升 Java 重负载序列化吞吐。

现代 Java 系统常依赖手工定义对象模式或全能通用序列化器,导致其在重度序列化负载下不灵活且低效。论文揭示了一种序列化专用的优化机会,并据此提出 JOSer:一种即时(JIT)对象序列化技术。JOSer 在运行时为每个类生成 JIT 友好的序列化器代码,再利用 JVM 的 JIT 编译器持续优化这些代码,并共享对象元数据与正在优化的序列化器。评估将 JOSer 与包括 OpenJDK 内置序列化在内的六种 Java 序列化技术对比,序列化吞吐最高提升 20~83×,反序列化最高提升 43~229×。JOSer 已部署于真实产品,使 Flink 序列化 CPU 使用降低 35.32~41.14%,搜索推荐延迟降低 30+ ms,并支撑开源序列化框架 Apache Fory。

问题
现代 Java 序列化技术依赖手工对象模式或全能通用序列化器,在重度序列化工作负载下不灵活且低效。
方法
JOSer 在运行时生成类特定且 JIT 友好的序列化器代码,并由 JVM JIT 编译器持续优化,同时共享对象元数据与序列化器。
评估
与六种 Java 序列化技术(含 OpenJDK 内置方案)对比,测量吞吐提升,并在 Flink 与搜索推荐等真实产品中验证 CPU 与延迟收益。
原文摘要(Abstract)

Object serialization is critical in Java, which preserves objects in memory and transfers them among software systems if needed. However, the serialization techniques of modern Java systems are usually inflexible and inefficient under heavy serialization workloads, as they rely on manually-defined object schemas or omni-functional serializers. To tackle the above problem, we reveal a novel, serialization-specific optimization opportunity in Java. Based on it, we develop JOSer (Just-in-time Object SERializer), an efficient, Just-in-Time (JIT) object serialization technique. At runtime, JOSer generates a set of class-specific, JIT-friendly object serializers (i.e., serialization code), and then continuously optimizes them with the JIT compiler of Java Virtual Machine (JVM). JOSer also shares the metadata of objects under serialization and the serializers under optimization. We evaluate JOSer against six Java serialization techniques including OpenJDK's built-in serialization technique. Overall, JOSer improves the throughput by up to 20~83× in serialization and 43~229× in deserialization. JOSer has been successfully deployed in real-world products, reducing serialization CPU usage of Flink by 35.32~41.14% and latency of search recommendations by 30+ ms. JOSer grounds Apache Fory#8482;, an open-source serialization framework available at https://fory.apache.org/.

链接与引用

DOI 原文 · PDF(开放获取) · DBLP

BibTeX
@inproceedings{YangNLWY00026,
  title = {JOSer: Just-In-Time Object Serialization for Heavy Java Serialization Workloads},
  author = {Chaokun Yang and Pengbo Nie and Ziyi Lin and Weipeng Wang and Qianwei Yu and Chengcheng Wan and He Jiang and Yuting Chen},
  booktitle = {ASPLOS},
  year = {2026},
  doi = {10.1145/3779212.3790179}
}