Task allocation algorithms for maximizing reliability of distributed computing systems
- 1 June 1997
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Computers
- Vol. 46 (6) , 719-724
- https://doi.org/10.1109/12.600888
Abstract
We consider the problem of finding an optimal and suboptimal task allocation (i.e., to which processor should each module of a task or program be assigned) in distributed computing systems with the goal of maximizing the system reliability (i.e., the probability that the system can run the entire task successfully). The problem of finding an optimal task allocation is known to be NP-hard in the strong sense. We present an algorithm for this problem, which uses the idea of branch and bound with underestimates for reducing the computations in finding an optimal task allocation. The algorithm reorders the list of modules to allow a subset of modules that do not communicate with one another to be assigned last, for further reduction in the computations of optimal task allocation for maximizing reliability. We also present a heuristic algorithm which obtains suboptimal task allocations in a reasonable amount of computational time. We study the performance of the algorithms over a wide range of parameters such as the number of modules, the number of processors, the ratio of average execution cost to average communication cost, and the connectivity of modules. We demonstrate the effectiveness of our algorithms by comparing them with recent competing task allocation algorithms for maximizing reliability available in the literature.Keywords
This publication has 6 references indexed in Scilit:
- Task allocation for maximizing reliability of distributed computer systemsIEEE Transactions on Computers, 1992
- Partitioning problems in parallel, pipeline, and distributed computingIEEE Transactions on Computers, 1988
- Efficient computation of optimal assignments for distributed tasksJournal of Parallel and Distributed Computing, 1987
- Task allocation in fault-tolerant distributed systemsActa Informatica, 1983
- Parametric Combinatorial Computing and a Problem of Program Module DistributionJournal of the ACM, 1983
- Multiprocessor Scheduling with the Aid of Network Flow AlgorithmsIEEE Transactions on Software Engineering, 1977