Supporting customized failure models for distributed software
Distributed Systems Engineering
The Voltan application programming environment for fail-silent processes D Black, C Low and S K Shrivastava -Recent citations QoS customization in distributed object systems Mohan Rajagopalan et al -C. Poellabauer et al -A. Gavrilovska et al -This content was downloaded from IP address 22.214.171.124 on 23/07/2018 at 03:34 Distrib. Syst. Engng 6 (1999) 103-111. Printed in the UK Abstract. 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. This paper describes an approach to constructing configurable services for distributed systems that allows easy customization of the type of failures to tolerate. Using this 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 software modules called micro-protocols. Each micro-protocol implements a different semantic property or property variant, and interacts with other micro-protocols using an event-driven model provided by a runtime system. In addition to facilitating the choice of failure model, the approach allows service properties such as message ordering and delivery atomicity to be customized for each application.