Transparent fault tolerance for grid applications

  • Authors:
  • Paweł Garbacki;Bartosz Biskupski;Henri Bal

  • Affiliations:
  • Faculty of Electrical Engineering, Mathematics and Computer Science, Delft University of Technology, Delft, The Netherlands;Department of Computer Science, Trinity College, Dublin, Ireland;Department of Computer Science, Vrije Universiteit, Amsterdam, The Netherlands

  • Venue:
  • EGC'05 Proceedings of the 2005 European conference on Advances in Grid Computing
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

A major challenge facing grid applications is the appropriate handling of failures. In this paper we address the problem of making parallel Java applications based on Remote Method Invocation (RMI) fault tolerant in a way transparent to the programmer. We use globally consistent checkpointing to avoid having to restart long-running computations from scratch after a system crash. The application's execution state can be captured at any time also when some of the application's threads are blocked waiting for the result of a (nested) remote method call. We modify only the program's bytecode which makes our solution independent from a particular Java Virtual Machine (JVM) implementation. The bytecode transformation algorithm performs a compile time analysis to reduce the number of modifications in the application's code which has a direct impact on the application's performance. The fault tolerance extensions encompass also the RMI components such as the RMI registry. Since essential data as checkpoints are replicated, our system is resilient to simultaneous failures of multiple machines. Experimental results show negligible performance overhead of our fault-tolerance extensions.