Safety and reliability driven task allocation in distributed systems
- 1 March 1999
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Parallel and Distributed Systems
- Vol. 10 (3) , 238-251
- https://doi.org/10.1109/71.755824
Abstract
Distributed computer systems are increasingly being employed for critical applications, such as aircraft control, industrial process control, and banking systems. Maximizing performance has been the conventional objective in the allocation of tasks for such systems. Inherently, distributed systems are more complex than centralized systems. The added complexity could increase the potential for system failures. Some work has been done in the past in allocating tasks to distributed systems, considering reliability as the objective function to be maximized. Reliability is defined to be the probability that none of the system components falls while processing. This, however, does not give any guarantees as to the behavior of the system when a failure occurs. A failure, not detected immediately, could lead to a catastrophe. Such systems are unsafe. In this paper, we describe a method to determine an allocation that introduces safety into a heterogeneous distributed system and at the same time attempts to maximize its reliability. First, we devise a new heuristic, based on the concept of clustering, to allocate tasks for maximizing reliability. We show that for task graphs with precedence constraints, our heuristic performs better than previously proposed heuristics. Next, by applying the concept of task-based fault tolerance, which we have previously proposed, we add extra assertion tasks to the system to make it safe. We present a new heuristic that does this in such a way that the decrease in reliability for the added safety is minimized. For the purpose of allocating the extra tasks, this heuristic performs as well as previously known methods and runs an order of magnitude faster. We present a number of simulation results to prove the efficacy of our scheme.Keywords
This publication has 23 references indexed in Scilit:
- Declustering: a new multiprocessor scheduling techniqueIEEE Transactions on Parallel and Distributed Systems, 1993
- Fast allocation of processes in distributed and parallel systemsIEEE Transactions on Parallel and Distributed Systems, 1993
- Fast algorithms for distributed resource allocationIEEE Transactions on Parallel and Distributed Systems, 1993
- A compile-time scheduling heuristic for interconnection-constrained heterogeneous processor architecturesIEEE Transactions on Parallel and Distributed Systems, 1993
- On the assignment problem of arbitrary process systems to heterogeneous distributed computer systemsIEEE Transactions on Computers, 1992
- Dynamic load balancing for distributed memory multiprocessorsJournal of Parallel and Distributed Computing, 1989
- Heuristic algorithms for task assignment in distributed systemsIEEE Transactions on Computers, 1988
- Heuristic Models of Task Assignment Scheduling in Distributed SystemsComputer, 1982
- Task Allocation in Distributed Data ProcessingComputer, 1980
- Models for Dynamic Load Balancing in a Heterogeneous Multiple Processor SystemIEEE Transactions on Computers, 1979