Improving the Performance of IndependentTask Assignment Heuristics MinMin,MaxMin and Sufferage

MinMin, MaxMin, and Sufferage are constructive heuristics that are widely and successfully used in assigning independent tasks to processors in heterogeneous computing systems. All three heuristics are known to run in O(KN2) time in assigning N tasks to K processors. In this paper, we propose an algorithmic improvement that asymptotically decreases the running time complexity of MinMin to O(KN log N) without affecting its solution quality. Furthermore, we combine the newly proposed MinMin algorithm with MaxMin as well as Sufferage, obtaining two hybrid algorithms. The motivation behind the former hybrid algorithm is to address the drawback of MaxMin in solving problem instances with highly skewed cost distributions while also improving the running time performance of MaxMin. The latter hybrid algorithm improves the running time performance of Sufferage without degrading its solution quality. The proposed algorithms are easy to implement and we illustrate them through detailed pseudocodes. The experimental results over a large number of real-life data sets show that the proposed fast MinMin algorithm and the proposed hybrid algorithms perform significantly better than their traditional counterparts as well as more recent state-of-the-art assignment heuristics. For the large data sets used in the experiments, MinMin, MaxMin, and Sufferage, as well as recent state-of-the-art heuristics, require days, weeks, or even months to produce a solution, whereas all of the proposed algorithms produce solutions within only two or three minutes.

[1]  Jeffrey M. Jaffe,et al.  Algorithms for Scheduling Tasks on Unrelated Processors , 1981, JACM.

[2]  Sanjeev Baskiyar,et al.  A general distributed scalable grid scheduler for independent tasks , 2009, J. Parallel Distributed Comput..

[3]  Radu Prodan,et al.  Performance and cost optimization for multiple large-scale grid workflow applications , 2007, Proceedings of the 2007 ACM/IEEE Conference on Supercomputing (SC '07).

[4]  Debra A. Hensgen,et al.  The relative performance of various mapping algorithms is independent of sizable variances in run-time predictions , 1998, Proceedings Seventh Heterogeneous Computing Workshop (HCW'98).

[5]  Sanjeev Baskiyar,et al.  A low complexity algorithm for dynamic scheduling of independent tasks onto heterogeneous computing systems , 2005, ACM-SE 43.

[6]  Cevdet Aykanat,et al.  Iterative-Improvement-Based Heuristics for Adaptive Scheduling of Tasks Sharing Files on Heterogeneous Master-Slave Environments , 2006, IEEE Transactions on Parallel and Distributed Systems.

[7]  Thomas M. Keane,et al.  Multi-heuristic dynamic task allocation using genetic algorithms in a heterogeneous distributed system , 2010, J. Parallel Distributed Comput..

[8]  Tahsin M. Kurç,et al.  Image-Space Decomposition Algorithms for Sort-First Parallel Volume Rendering of Unstructured Grids , 2004, The Journal of Supercomputing.

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

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

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

[12]  R. F. Freund,et al.  Scheduling resources in multi-user, heterogeneous, computing environments with SmartNet , 1998, Proceedings Seventh Heterogeneous Computing Workshop (HCW'98).

[13]  Bora Uçar,et al.  Heuristics for scheduling file-sharing tasks on heterogeneous systems with distributed repositories , 2007, J. Parallel Distributed Comput..

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

[15]  Sameer Singh Chauhan,et al.  QoS Guided Heuristic Algorithms for Grid Task Scheduling , 2010 .

[16]  Berkant Barla Cambazoglu,et al.  Query forwarding in geographically distributed search engines , 2010, SIGIR.

[17]  SiegelHoward Jay,et al.  Task Matching and Scheduling in Heterogeneous Computing Environments Using a Genetic-Algorithm-Based Approach , 1997 .

[18]  Timothy A. Davis,et al.  The university of Florida sparse matrix collection , 2011, TOMS.

[19]  Pascal Bouvry,et al.  Solving very large instances of the scheduling of independent tasks problem on the GPU , 2013, J. Parallel Distributed Comput..

[20]  Zhongzhi Shi,et al.  A revisit of fast greedy heuristics for mapping a class of independent tasks onto heterogeneous computing systems , 2007, J. Parallel Distributed Comput..

[21]  Saeed Parsa,et al.  RASA-A New Grid Task Scheduling Algorithm , 2009, J. Digit. Content Technol. its Appl..

[22]  Min-You Wu,et al.  A high-performance mapping algorithm for heterogeneous computing systems , 2001, Proceedings 15th International Parallel and Distributed Processing Symposium. IPDPS 2001.

[23]  Enrique Alba,et al.  Efficient Batch Job Scheduling in Grids using Cellular Memetic Algorithms , 2007, IPDPS.

[24]  Costantino Bresciani-Turroni On Pareto's law , 1937 .

[25]  Oscar H. Ibarra,et al.  Heuristic Algorithms for Scheduling Independent Tasks on Nonidentical Processors , 1977, JACM.