Heuristic model for task allocation in distributed computer systems

In distributed computing systems, partitioning of application software into modules and proper allocation of modules among processors are important factors for efficient utilisation of resources. A method for static allocation of modules to processors, with the constraints of minimising interprocessor communication (IPC) cost and load balancing is presented. The heuristic approach forms module clusters around maximally linked modules or attached modules, and restricts the cluster size to the average load to be assigned to each processor. While modules are being allocated, specific capabilities of the processors can also be taken into consideration. The module allocation with the above constraints is carried out in a single phase, and the algorithm provides a near optimal solution.

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

[2]  Yung-Terng Wang,et al.  Load Sharing in Distributed Systems , 1985, IEEE Transactions on Computers.

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

[4]  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.

[5]  Krithi Ramamritham,et al.  Dynamic Task Scheduling in Hard Real-Time Distributed systems , 1984, IEEE Software.

[6]  Asser N. Tantawi,et al.  Optimal static load balancing in distributed computer systems , 1985, JACM.

[7]  E.L. Lawler,et al.  Optimization and Approximation in Deterministic Sequencing and Scheduling: a Survey , 1977 .

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

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

[10]  Walter H. Kohler,et al.  Models for Dynamic Load Balancing in a Heterogeneous Multiple Processor System , 1979, IEEE Transactions on Computers.

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

[12]  Edward D. Lazowska,et al.  Adaptive load sharing in homogeneous distributed systems , 1986, IEEE Transactions on Software Engineering.

[13]  Amnon Barak,et al.  A distributed load‐balancing policy for a multicomputer , 1985, Softw. Pract. Exp..

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

[15]  Zarka Cvetanovic,et al.  The Effects of Problem Partitioning, Allocation, and Granularity on the Performance of Multiple-Processor Systems , 1987, IEEE Transactions on Computers.

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

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

[18]  Maw-Sheng Chern,et al.  An LC Branch-and-Branch Algorithm for the Module Assignment Problem , 1989, Inf. Process. Lett..

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

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