Distributed Systems Engineering · 1999 · 18 citations · 20 references
ComputingComputer EngineeringComputer SystemsDistributed SystemsFault ToleranceFault-tolerant SystemsFault Tolerance DesignRedundancy ManagementRedundancy TechniquesReliable Distributed SystemsReliable System DesignSoftware Fault ToleranceAtomicityCustomizationEvent-driven Fault ToleranceFailure ModelsFault Tolerant ArchitecturesFault-tolerant Distributed SystemsRuntime System ArchitectureSoftware Fault Models
The cost of employing software fault-tolerance techniques in distributed systems is strongly related to the type of failures to be tolerated. For example, in terms of the amount of redundancy required and execution time, tolerating a processor crash is much cheaper than tolerating arbitrary (or Byzantine) failures. The tradeoff, of course, is that making stronger assumptions about failures lessens the degree of fault coverage provided by the system. This paper describes an approach to constructing configurable services for distributed systems that allows easy customization of the type of failures to tolerate. For example, using our approach, it is possible to configure custom services across a spectrum of possibilities, from a very efficient but unreliable server group that does not tolerate any failures, to a less efficient but reliable group that tolerates crash, omission, timing, or arbitrary failures. The approach is based on building configurable services as collections of softwar...
20
Jo-Mei Chang, N.F. Maxemchuk · ACM Transactions on Computer Systems · 1984 · 676 citations · Full text