2004 · 27 citations · 24 references
ComputingComputer ScienceComputer SystemsFault ToleranceFault-tolerant ComputingFault-tolerant SystemsConcurrency ControlData ReplicationFault Tolerance DesignReliable System DesignSoftware Fault ToleranceFault Tolerance ArchitectureFault Tolerance MechanismsFault Tolerance PerformanceSymmetric MultiprocessingVirtual Machine Fault ToleranceVirtual Machine Portability
Replication is one of the prominent approaches for obtaining fault tolerance. Implementing replication on commodity hardware and in a transparent fashion, i.e., without changing the programming model, has many challenges. Deciding at what level to implement the replication has ramifications on development costs and portability of the programs. Other difficulties lie in the coordination of the copies in the face of non-determinism. We report on an implementation of transparent fault tolerance at the virtual machine level of Java. We describe the design of the system and present performance results that in certain cases are equivalent to those of non-replicated executions. We also discuss design decisions stemming from implementing replication at the virtual machine level, and the special considerations necessary in order to support symmetric multi-processors (SMP).
24
Leslie Lamport · ACM Transactions on Computer Systems · 1998 · 2.7K citations · Full text
Robbert van Renesse, Ken Birman, Silvano Maffeis · Communications of the ACM · 1996 · 626 citations · Full text
Bowen Alpern, C. R. Attanasio, John Barton et al. · IBM Systems Journal · 2000 · 578 citations