Task allocation techniques for distributed computing systems: a review

Abstract An efficient strategy to allocate tasks to processors in distributed computer systems is required for proper utilization of available computational power. Various task allocation models developed so far have the basic assumption that an application program is suitably divided into a number of subtasks or modules and the execution costs of modules and intermodule communication costs are also known. The subdivision of a given program into modules is assumed to be carried out by a software mechanism which forms a separate discipline of research work. The task allocation models developed earlier did not consider various constraints like load balancing, precedence relations, timing constraints, etc. Most of the recent works in the formulation of task allocation strategies take into account a number of constraints. This paper presents a brief outline of the various available models and algorithms for task allocation with suggestions for possible future directions in the field.

[1]  Wesley W. Chu,et al.  Task Allocation in Distributed Data Processing , 1980, Computer.

[2]  B. Hoppe,et al.  A multiprocessor system for simulating data transmission systems (MUPSI) , 1983 .

[3]  S. P. Rana,et al.  On Module Assignment in Two-Processor Distributed Systems , 1979, Inf. Process. Lett..

[4]  S. P. Rana,et al.  Heuristic Algorithms for Process Assignment in Distributed Computing Systems , 1980, Inf. Process. Lett..

[5]  Shahid H. Bokhari,et al.  A Shortest Tree Algorithm for Optimal Assignments Across Space and Time in a Distributed Processor System , 1981, IEEE Transactions on Software Engineering.

[6]  Sol M. Shatz,et al.  Introduction to Distributed-Software Engineering , 1987, Computer.

[7]  Chien-Chung Shen,et al.  A Graph Matching Approach to Optimal Task Assignment in Distributed Computing Systems Using a Minimax Criterion , 1985, IEEE Trans. Computers.

[8]  Joel H. Saltz,et al.  A Comparative Analysis of Static and Dynamic Load Balancing Strategies , 1986, ICPP.

[9]  Virginia Mary Lo,et al.  Heuristic Algorithms for Task Assignment in Distributed Systems , 1988, IEEE Trans. Computers.

[10]  K.K. Leung,et al.  Module replication and assignment for real-time distributed processing systems , 1987, Proceedings of the IEEE.

[11]  Jacob A. Abraham,et al.  Load Balancing in Distributed Systems , 1982, IEEE Transactions on Software Engineering.

[12]  Donald F. Towsley,et al.  Allocating programs containing branches and loops within a multiple processor system , 1986, IEEE Transactions on Software Engineering.

[13]  J. Sheild,et al.  Partitioning concurrent VLSI simulation programs onto a multiprocessor by simulated annealing , 1987 .

[14]  Shahid H. Bokhari,et al.  Control of Distributed Processes , 1978, Computer.

[15]  Perng-Yi Richard Ma A Model to Solve Timing-Critical Application Problems in Distributed Computer Systems , 1984, Computer.

[16]  S. Krishnaprasad,et al.  Software Allocation Models for Distributed Computing Systems , 1984, IEEE International Conference on Distributed Computing Systems.

[17]  S. P. Rana,et al.  Analysis of the Module Assignment Problem in Distributed Computing Systems with Limited Storage , 1980, Inf. Process. Lett..

[18]  Hongjun Lu,et al.  Load-Balanced Task Allocation in Locally Distributed Computer Systems , 1986, ICPP.

[19]  Udo W. Pooch,et al.  Search techniques for a nonlinear multiprocessor scheduling problem , 1982 .

[20]  Masahiro Tsuchiya,et al.  A Task Allocation Model for Distributed Computing Systems , 1982, IEEE Transactions on Computers.

[21]  Harold S. Stone,et al.  Multiprocessor Scheduling with the Aid of Network Flow Algorithms , 1977, IEEE Transactions on Software Engineering.

[22]  Bipin Indurkhya,et al.  Optimal partitioning of randomly generated distributed programs , 1986, IEEE Transactions on Software Engineering.

[23]  Wesley W. Chu,et al.  Task Allocation and Precedence Relations for Distributed Real-Time Systems , 1987, IEEE Transactions on Computers.

[24]  Shahid H. Bokhari Partitioning Problems in Parallel, Pipelined, and Distributed Computing , 1988, IEEE Trans. Computers.

[25]  Kemal Efe,et al.  Heuristic Models of Task Assignment Scheduling in Distributed Systems , 1982, Computer.