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

Read full text
Authors: Chaokun Yang, Pengbo Nie, Ziyi Lin, Weipeng Wang, Qianwei Yu, Chengcheng Wan, He Jiang, Yuting Chen
Cited by: 0
References: 24

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/.

Fields of Study & Subjects

Parallel Computing and Optimization Techniques Advanced Database Systems and Queries Logic programming and type systems

Publication details

Journal / source
International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS)
Pages
1040–1054
Publication date
10 March 2026
Language
EN