Software tool combining fault masking with user-defined recovery strategies

The voting farm, a tool which implements a distributed software voting mechanism for a number of parallel message passing systems, is described. The tool, developed in the framework of EFTOS (embedded fault tolerant supercomputing), can be used in standalone mode or in conjunction with other EFTOS fault tolerance tools. In the former case, exploitation of the mechanism is described, e.g. to implement restoring organs (N-modular redundancy systems with N-replicated voters); in the latter case, it is shown how it is possible for the user to implement in an easy and effective way a number of different recovery strategies via a custom, high-level language. Combining such strategies with the basic fault masking capabilities of the voting tool makes it possible to set up complex fault tolerant systems such as, for instance, N-and-M-spare systems or gracefully degrading voting farms. The impact that the tool can have on reliability is discussed, and it is shown how, besides structural design goals like fault transparency, the tool achieves replication transparency, a high degree of flexibility and ease-of-use, and good performance.

[1]  Yennun Huang,et al.  Software Implemented Fault Tolerance Technologies and Experience , 1993, FTCS.

[2]  Brian W. Kernighan,et al.  The C Programming Language , 1978 .

[3]  Rudy Lauwereins,et al.  The EFTOS voting farm: a software tool for fault masking in message passing parallel environments , 1998, Proceedings. 24th EUROMICRO Conference (Cat. No.98EX204).

[4]  Barry W. Johnson Design & analysis of fault tolerant digital systems , 1988 .

[5]  Donald E. Knuth,et al.  Literate Programming , 1984, Comput. J..

[6]  Jerome H. Saltzer,et al.  End-to-end arguments in system design , 1984, TOCS.

[7]  Rudy Lauwereins,et al.  A Hypermedia Distributed Application for Monitoring and Fault-Injection in Embedded Parallel Programs , 1998 .

[8]  Dave E. Eckhardt,et al.  A theoretical investigation of generalized voters for redundant systems , 1989, [1989] The Nineteenth International Symposium on Fault-Tolerant Computing. Digest of Papers.

[9]  R. Ramaswami,et al.  Book Review: Design and Analysis of Fault-Tolerant Digital Systems , 1990 .

[10]  Rudy Lauwereins,et al.  A framework backbone for software fault tolerance in embedded parallel applications , 1999, Proceedings of the Seventh Euromicro Workshop on Parallel and Distributed Processing. PDP'99.

[11]  Rudy Lauwereins,et al.  EFTOS: A Software Framework for More Dependable Embedded HPC Applications , 1997, Euro-Par.

[12]  Sam Toueg,et al.  Unreliable failure detectors for reliable distributed systems , 1996, JACM.

[13]  John K. Ousterhout,et al.  Tcl and the Tk Toolkit , 1994 .

[14]  Jean-Claude Laprie,et al.  Dependability — Its Attributes, Impairments and Means , 1995 .

[15]  Rudy Lauwereins,et al.  Industrial embedded HPC applications , 1997 .

[16]  Geert Deconinck,et al.  Stable memory in substation automation: a case study , 1998, Digest of Papers. Twenty-Eighth Annual International Symposium on Fault-Tolerant Computing (Cat. No.98CB36224).