Task assignment in heterogeneous computing systems

The problem of task assignment in heterogeneous computing systems has been studied for many years with many variations. We consider the version in which communicating tasks are to be assigned to heterogeneous processors with identical communication links to minimize the sum of the total execution and communication costs. Our contributions are three fold: a task clustering method which takes the execution times of the tasks into account; two metrics to determine the order in which tasks are assigned to the processors; a refinement heuristic which improves a given assignment. We use these three methods to obtain a family of task assignment algorithms including multilevel ones that apply clustering and refinement heuristics repeatedly. We have implemented eight existing algorithms to test the proposed methods. Our refinement algorithm improves the solutions of the existing algorithms by up to 15% and the proposed algorithms obtain better solutions than these refined solutions.

[1]  Ishfaq Ahmad,et al.  Optimal task assignment in heterogeneous distributed computing systems , 1998, IEEE Concurr..

[2]  Yves Robert,et al.  Scheduling tasks sharing files on heterogeneous master-slave platforms , 2004, 12th Euromicro Conference on Parallel, Distributed and Network-Based Processing, 2004. Proceedings..

[3]  David Fernández-Baca,et al.  Allocating Modules to Processors in a Distributed System , 1989, IEEE Trans. Software Eng..

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

[5]  Tien-Fu Chen,et al.  Branch-and-bound task allocation with task clustering-based pruning , 2004, J. Parallel Distributed Comput..

[6]  Curt Jones,et al.  A Heuristic for Reducing Fill-In in Sparse Matrix Factorization , 1993, PPSC.

[7]  Ümit V. Çatalyürek,et al.  Hypergraph-Partitioning-Based Decomposition for Parallel Sparse-Matrix Vector Multiplication , 1999, IEEE Trans. Parallel Distributed Syst..

[8]  Ladislau Bölöni,et al.  A Comparison of Eleven Static Heuristics for Mapping a Class of Independent Tasks onto Heterogeneous Distributed Computing Systems , 2001, J. Parallel Distributed Comput..

[9]  Ami Marowka,et al.  The GRID: Blueprint for a New Computing Infrastructure , 2000, Parallel Distributed Comput. Pract..

[10]  Kurt Mehlhorn,et al.  LEDA: a platform for combinatorial and geometric computing , 1997, CACM.

[11]  Vangelis F. Magirou An improved partial solution to the task assignment and multiway cut problems , 1992, Oper. Res. Lett..

[12]  Vassilis Zissimopoulos,et al.  On the Task Assignment Problem: Two New Efficient Heuristic Algorithms , 1997, J. Parallel Distributed Comput..

[13]  Arif Ghafoor,et al.  On the Assignment Problem of Arbitrary Process Systems to Heterogeneous Distributed Computer Systems , 1992, IEEE Trans. Computers.

[14]  Yves Robert,et al.  Scheduling Tasks Sharing Files from Distributed Repositories , 2004, Euro-Par.

[15]  Imtiaz Ahmad,et al.  An Integrated Technique for Task Matching and Scheduling onto Distributed Heterogeneous Computing Systems , 2002, J. Parallel Distributed Comput..

[16]  George Karypis,et al.  Multilevel Hypergraph Partitioning , 2003 .

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

[18]  Elizabeth Ann Williams Design, analysis, and implementation of distributed systems from a performance perspective , 1983 .

[19]  Alain Billionnet Allocating Tree Structured Programs in a Distributed System with Uniform Communication Costs , 1994, IEEE Trans. Parallel Distributed Syst..

[20]  Howard Jay Siegel,et al.  Techniques for mapping tasks to machines in heterogeneous computing systems , 2000, J. Syst. Archit..

[21]  Y.-K. Kwok,et al.  Static scheduling algorithms for allocating directed task graphs to multiprocessors , 1999, CSUR.

[22]  Cristina Boeres,et al.  Hybrid task scheduling: integrating static and dynamic heuristics , 2003, Proceedings. 15th Symposium on Computer Architecture and High Performance Computing.

[23]  C. Siva Ram Murthy,et al.  Optimal task allocation in distributed systems by graph matching and state space search , 1999, J. Syst. Softw..

[24]  Michael G. Norman,et al.  Models of machines and computation for mapping in multicomputers , 1993, CSUR.

[25]  Hesham H. Ali,et al.  Task scheduling in parallel and distributed systems , 1994, Prentice Hall series in innovative technology.

[26]  Howard Jay Siegel,et al.  Task execution time modeling for heterogeneous computing systems , 2000, Proceedings 9th Heterogeneous Computing Workshop (HCW 2000) (Cat. No.PR00556).

[27]  F. Kaudel Comments on "Allocating Programs Containing Branches and Loops Within a Multiple Processor System" , 1990, IEEE Trans. Software Eng..

[28]  Wun-Hwa Chen,et al.  A hybrid heuristic to solve a task allocation problem , 2000, Comput. Oper. Res..

[29]  Imtiaz Ahmad,et al.  Particle swarm optimization for task assignment problem , 2002, Microprocess. Microsystems.

[30]  R. F. Freund,et al.  Dynamic Mapping of a Class of Independent Tasks onto Heterogeneous Computing Systems , 1999, J. Parallel Distributed Comput..

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

[32]  Alexander Reinefeld,et al.  MARS - A framework for minimizing the job execution time in a metacomputing environment , 1996, Future Gener. Comput. Syst..

[33]  David E. Keyes,et al.  Proceedings of the Sixth SIAM Conference on Parallel Processing for Scientific Computing, PPSC 1993, Norfolk, Virginia, USA, March 22-24, 1993 , 1993, PPSC.

[34]  Pierre Sens,et al.  Load Sharing and Fault Tolerance Manager , 1999 .

[35]  Stephen A. Szygenda,et al.  Proceedings of the 15th Design Automation Conference , 1976, DAC 1978.

[36]  Bruce Hendrickson,et al.  A Multi-Level Algorithm For Partitioning Graphs , 1995, Proceedings of the IEEE/ACM SC95 Conference.

[37]  Ali R. Hurson,et al.  Scheduling and Load Balancing in Parallel and Distributed Systems , 1995 .

[38]  Howard Jay Siegel,et al.  Representing Task and Machine Heterogeneities for Heterogeneous Computing Systems , 2000 .

[39]  Yves Robert,et al.  Scheduling Tasks Sharing Files on Heterogeneous Clusters , 2003, PVM/MPI.

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

[41]  Yskandar Hamam,et al.  Assignment of program modules to processors: A simulated annealing approach , 2000, Eur. J. Oper. Res..

[42]  Yves Robert,et al.  Scheduling Tasks Sharing Files on Heterogeneous Master-Slave Platforms , 2004, PDP.

[43]  Federico Silla,et al.  On the development of a communication-aware task mapping technique , 2004, J. Syst. Archit..

[44]  Francine Berman,et al.  High-performance schedulers , 1998 .

[45]  Xin Zhao,et al.  Run-time support for scheduling parallel applications in heterogeneous NOWs , 1997, Proceedings. The Sixth IEEE International Symposium on High Performance Distributed Computing (Cat. No.97TB100183).

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

[47]  Andrew A. Chien,et al.  A heuristic algorithm for mapping communicating tasks on heterogeneous resources , 2000, Proceedings 9th Heterogeneous Computing Workshop (HCW 2000) (Cat. No.PR00556).

[48]  Kang G. Shin,et al.  Optimal Task Assignment in Homogeneous Networks , 1997, IEEE Trans. Parallel Distributed Syst..

[49]  Stephen John Turner,et al.  A new heuristic for the process-processor mapping problem , 2000 .

[50]  Ana Cortés,et al.  Clustering and reassignment-based mapping strategy for message-passing architectures , 2003, J. Syst. Archit..

[51]  Ashish Tiwari,et al.  A greedy genetic algorithm for the quadratic assignment problem , 2000, Comput. Oper. Res..

[52]  David Abramson,et al.  Economic models for resource management and scheduling in Grid computing , 2002, Concurr. Comput. Pract. Exp..

[53]  Brian W. Kernighan,et al.  An efficient heuristic procedure for partitioning graphs , 1970, Bell Syst. Tech. J..

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

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