Efficient Java thread serialization

  • Authors:
  • Sara Bouchenak;Daniel Hagimont;Noël De Palma

  • Affiliations:
  • Swiss Federal Institute of Technology, IC/ IIF / LABOS / INN315 CH-1015 Lausanne, Switzerland;INRIA, 655, av. de l'Europe, Montbonnot 38334 St-Ismier Cedex, France;INPG, 655, av. de l'Europe, Montbonnot, 38334 St-Ismier Cedex, France

  • Venue:
  • PPPJ '03 Proceedings of the 2nd international conference on Principles and practice of programming in Java
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

The Java system supports the transmission of code via dynamic class loading, and the transmission or storage of data via object serialization. However, Java does not provide any mechanism for the transmission/storage of computation (i.e., thread serialization). Several projects have recently addressed the issue of Java thread serialization, e.g., Sumatra, Wasp, JavaGo, Brakes, Merpati. But none of them has been able to avoid the overhead incurred by thread serialization on thread performance. We propose a Java thread serialization mechanism that does not impose any performance overhead on serialized threads. In this paper, we describe our implementation of thread serialization in Sun Microsystems' JVM, and present the techniques that allowed us to cancel the performance overhead, namely type inference and dynamic de-optimization.