Skip to Main content Skip to Navigation
Reports

Experiences Implementing Efficient Java Thread Serialization, Mobility and Persistence

Sara Bouchenak 1 Daniel Hagimont 1 Sacha Krakowiak 1 Noel de Palma 1 Fabienne Boyer 1
1 SARDES - System architecture for reflective distributed computing environments
Inria Grenoble - Rhône-Alpes, CNRS - Centre National de la Recherche Scientifique : FR71
Abstract : Today, mobility and persistence are important aspects of distributed computing- . They have many fields of use such as load balancing, fault tolerance and dynamic reconfiguration of applications. In this context, Java provides many useful mechanisms for the mobility of code via dynamic class loading, and the mobility or persistence of data via object serialization. However, Java does not provide any mechanism for the mobility/persistence of computation (i.e., threads). We designed and implemented a new mechanism, called , that is used to build thread mobility or thread persistence. Therefore, a running Java thread can, at an arbitrary state of its execution, migrate to a remote machine where it resumes its execution, or be checkpointed on disk for possible subsequent recovery. With our services, migrating a thread is simply performed by the call of our primitive, and checkpointing/recovering a thread is performed by the call of our and primitives. Several projects have recently addressed the issue of Java thread serialization, e.g., Sumatra, Wasp, JavaGo, Brakes, JavaGoX, Merpati. Some of them have attempted to minimize the overhead incurred by the thread serialization mechanism on thread performance, but none of them has been able to completely avoid this overhead. We propose a generic Java thread serialization mechanism that does not impose any performance overhead on serialized threads. This is achieved thanks to the use of type inference and dynamic de-optimization techniques. In this paper, we describe the design and implementation details of our thread serialization prototype in Sun Microsystems' JDK. We report on experiments conducted with our prototype, present a comparative performance evaluation of the main thread serialization techniques, and confirm the elimination of the performance overhead with our thread serialization mechanism.
Complete list of metadatas

https://hal.inria.fr/inria-00071923
Contributor : Rapport de Recherche Inria <>
Submitted on : Tuesday, May 23, 2006 - 7:16:43 PM
Last modification on : Wednesday, February 13, 2019 - 1:56:12 PM
Document(s) archivé(s) le : Sunday, April 4, 2010 - 10:44:46 PM

Identifiers

  • HAL Id : inria-00071923, version 1

Collections

Citation

Sara Bouchenak, Daniel Hagimont, Sacha Krakowiak, Noel de Palma, Fabienne Boyer. Experiences Implementing Efficient Java Thread Serialization, Mobility and Persistence. [Research Report] RR-4662, INRIA. 2002. ⟨inria-00071923⟩

Share

Metrics

Record views

370

Files downloads

873