The work reported in this paper is motivated towards validating an alternative approach for fault tolerance over traditional methods like checkpointing that constrain efficacious fault tolerance. Can agent intelligence be used to achieve fault tolerant parallel computing systems? If so, "What agent capabilities are required for fault tolerance?", "What parallel computational tasks can benefit from such agent capabilities?" and "How can agent capabilities be implemented for fault tolerance?" need to be addressed. Cognitive capabilities essential for achieving fault tolerance through agents are considered. Parallel reduction algorithms are identified as a class of algorithms that can benefit from cognitive agent capabilities. The Message Passing Interface is utilized for implementing an intelligent agent based approach. Preliminary results obtained from the experiments validate the feasibility of an agent based approach for achieving fault tolerance in parallel computing systems.
@cite_25: We propose the robust middleware approach to transparent fault tolerance in parallel and distributed systems. The proposed approach inserts a robust middleware between algorithms programs and system architecture hardware. With the robust middleware, hardware faults are transparent to algorithms programs so that ordinary algorithms programs developed for fault-free networks can run on faulty parallel distributed systems without modifications. Moreover, the robust middleware automatically adds fault tolerance capability to ordinary algorithms programs so that no hardware redundancy or reconfiguration capability is required and no assumption is made about the availability of a complete subnetwork (at a lower dimension or smaller size). We also propose nomadic agent multithreaded programming as a novel fault-aware programming paradigm that is independent of network topologies and fault patterns. Nomadic agent multithreaded programming is adaptive to fault traffic workload patterns, and can take advantages of various components of the robust middleware, including the fault tolerance features and multiple embeddings, without relying on specialized robust algorithms
On an implementation level, checkpointing based fault tolerance has opened avenues for implementing middleware approaches that aim to add an additional interface or a sandwich layer between hardware and software layers @cite_25 . To improve efficiency of checkpointing, additional checkpointing strategies over custom implementations have been adopted in such middleware layers like MPI (Message Passing Interface), a few of which are referenced here.