Static Task Allocation of Concurrent Programs for Distributed Computing Systems with Processor and Resource Heterogeneity

Abstract In this paper, we investigate the problem of static task allocation of concurrent programs for distributed computing systems with processor and resource heterogeneity, i.e. given a set of concurrent communicating modules and a two processor distributed computing system, in which processors may have differing speeds and each processor may have certain resources not available with the other processor (i.e. unique resources), to which processor should each module be assigned so as to minimize the completion time? This task allocation problems is NP-hard and hence, we provide an efficient heuristic algorithm for obtaining satisfactory suboptimal solution to it in a reasonable amount of computation time and demonstrate the effectiveness of our algorithm with simulation studies. Our algorithm works by constructing an augmented task graph and taking a load balanced mincut on it and has a time complexity of O((m + u)2) where m is the number of concurrent communicating modules and u is the total number of unique resources in the two processor system. Finally, we extend our heuristic algorithm to solve the problem of static task allocation of concurrent programs to an n processor distributed computing system with processor and resource heterogeneity.

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

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

[3]  J. Ramanujam,et al.  Cluster partitioning approaches to mapping parallel programs onto a hypercube , 1987, Parallel Comput..

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

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

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

[7]  Pauline Markenscoff,et al.  Task Allocation Problems in Distributed Computer Systems , 1986, ICPP.

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

[9]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

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

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

[12]  R. M. Mattheyses,et al.  A Linear-Time Heuristic for Improving Network Partitions , 1982, 19th Design Automation Conference.

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

[14]  Peter J. Denning,et al.  Operating Systems Theory , 1973 .