A framework backbone for software fault tolerance in embedded parallel applications
چکیده
The DIR net (detection-isolation-recovery net) is the main module of a software framework fi)r the development of embedded supercornputing applications. This framework provides a set of functional elements, collected in a library, to improve the dependability attributes of the applications (especially the availability) . The DIR net enables these functional elements to cooperate and enhances their efficiency by controlling and co-ordinating them . As a supervisor and the main executor of the Jault tolerance strategy, it is the backbone of the framework, of which the application developer is the architect . Moreover, it provides an interface to which all detection and recovery tools should conform . Although the DIR net is meant to be used together within this fault tolerance framework, the adopted concepts and design decisions have a more general value, and can be applied in a wide range ofparallel systems . Fault tolerance, or the ability to tolerate faults, is a crucial requirement for any successful industrial product . It is intended to increase system properties as availability, maintainability etc ., commonly referred to as dependability [1] . Many embedded applications require high availability and high performance computing which may only be provided by parallel computing systems . However, an inherent weak point of parallel computing is the higher probability of failures . This is not only due to the multiplicity of hardware, but also and mainly to the higher complexity of the software ; this problem is enlarged by the industrial environment and the long execution time . But at the same time, parallelism can. be exploited to provide fault tolerance, making use of the available redundancy . Fault tolerance can be achieved by using specialised hardware, fault-tolerant operating systems and/or by the development of fault-tolerant software. The hardware approach is the most expensive one, though the software approach may also be expensive if the application 1066-6192/99 $10.00 © 1999 IEEE 189 developers have to design and integrate fault tolerance strategies from scratch . Moreover, ad hoc solutions can be an impairment for portability and maintenance . Within the ESPRIT project EFTOS (Embedded FaultTOlerant Supercomputing) [2, 3], several embedded applications are targeted which require both high performance computing and fault tolerance . These different applications have similar requirements with respect to fault tolerance and can benefit from identical solutions . The project's goal is to streamline these solutions into a reusable fault tolerance framework that can be flexibly and easily integrated into the target applications . The framework consists of a set of tools collected in a fault tolerance library . The developers can select and customise those tools that are necessary for the target application . The framework is aimed at embedded, parallel, homogeneous MIMD systems . These require fast and lean tools, while the parallel aspect demands intelligence to make the fault tolerance strategies possible and efficient . At the same time, we want to keep the fault tolerance framework as easy to use as possible, by providing a simple but flexible API to the developer. The framework is therefore equipped with a detection-isolation-recovery net (DIR net), i .e ., is a distributed tool that controls all the other tools in the library . As the DIR net has a global view of the system, it co-ordinates the fault tolerance steps from detection over isolation to recovery. So the developer is responsible for selecting and tuning the modules of the framework, the DIR net for their co-ordination . The EFTOS framework does not rely on specific hardware features to achieve fault tolerance, unless those features are found in most common parallel computers . This is in contrast to commercial products like SUN IMP [4], SDFT and a scientific project like CHIMERA [5] . As it focuses on embedded parallel computing, it does not benefit from time-consuming techniques like checkpointing and rollback, file replication and backward error recovery in general as is used for example in ISIS [6], HATS [7] and Fail-safe PVM [8] . The framework focuses on soft real-time, embedded applications . With such a framework, development costs and time-to-market are significantly lowered . The rest of the paper is structured as follows. Section 2 describes the target platform on which the framework was developed and tested . A concise overview of the library is presented in Section 3 . Section 4 is devoted to the architecture of the DIR net and its fault tolerance strategy. The paper is concluded by an outlook to future