Deterministic Replay of Distributed Java Applications

  • Authors:
  • Affiliations:
  • Venue:
  • IPDPS '00 Proceedings of the 14th International Symposium on Parallel and Distributed Processing
  • Year:
  • 2000

Quantified Score

Hi-index 0.00

Visualization

Abstract

Execution behavior of a Java application can be non-deterministic due to concurrent threads of execution, thread scheduling, and variable network delays. This non-determinism in Java makes the understanding and debugging of multi-threaded distributed Java applications a difficult and a laborious process. It is well accepted that providing deterministic replay of application execution is a key step towards programmer productivity and program understanding. Towards this goal, we developed a replay framework based on logical thread schedules and logical intervals. An application of this framework was previously published in the context of a system called Dejavu that provides deterministic replay of multithreaded Java programs on a single Java Virtual Machine (JVM). In contrast, this paper focuses on distributed Dejavu that provides deterministic replay of distributed Java applications running on multiple JVMs. We describe the issues and present the design, implementation and preliminary performance results of distributed Dejavu that supports both multithreaded and distributed Java applications.