Accelerating the Min-Min Heuristic

Min-Min is a classical heuristic for scheduling tasks to heterogeneous computational resources, which has been applied either directly or as part of more sophisticated heuristics. The time complexity of the direct implementation of Min-Min is \(O(mn^2)\) for scheduling n tasks on m machines. This has motivated the use of simpler heuristics and parallel implementations of Min-Min for the sake of acceptable runtimes in large scenarios. Recently, we have proposed an efficient algorithm for computing Min-Min, whose time complexity is O(mn). In this work, we study mult-many core versions of this new algorithm. The experimental evaluation of our proposal shows important runtime reductions compared to the sequential version.

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

[2]  Enrique Alba,et al.  Efficient Batch Job Scheduling in Grids Using Cellular Memetic Algorithms , 2007, 2007 IEEE International Parallel and Distributed Processing Symposium.

[3]  Fatos Xhafa,et al.  Computational models and heuristic methods for Grid scheduling problems , 2010, Future Gener. Comput. Syst..

[4]  Paul Hildebrandt,et al.  Radix Exchange—An Internal Sorting Method for Digital Computers , 1959, JACM.

[5]  Berkant Barla Cambazoglu,et al.  Improving the Performance of IndependentTask Assignment Heuristics MinMin,MaxMin and Sufferage , 2014, IEEE Transactions on Parallel and Distributed Systems.

[6]  Arch D. Robison,et al.  Structured Parallel Programming: Patterns for Efficient Computation , 2012 .

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

[8]  Fatos Xhafa,et al.  Batch mode scheduling in grid systems , 2007, Int. J. Web Grid Serv..

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

[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]  John Levine,et al.  A fast, effective local search for scheduling independent jobs in heterogeneous computing environments , 2003 .

[12]  Pascal Bouvry,et al.  Energy-aware fast scheduling heuristics in heterogeneous computing systems , 2011, 2011 International Conference on High Performance Computing & Simulation.

[13]  Enrique Alba,et al.  A Tabu Search Algorithm for Scheduling Independent Jobs in Computational Grids , 2009, Comput. Informatics.

[14]  Martín Pedemonte,et al.  An efficient implementation of the Min-Min heuristic , 2013, Comput. Oper. Res..

[15]  Feng Xia,et al.  Special issue on energy-aware computing and communications , 2013, Cluster Computing.

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

[17]  Donald E. Knuth,et al.  The Art of Computer Programming: Volume 3: Sorting and Searching , 1998 .

[18]  Leslie G. Valiant,et al.  Parallelism in Comparison Problems , 1975, SIAM J. Comput..

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

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

[21]  A. Habermann,et al.  Parallel Neighbor-Sort (or the Glory of the Induction Principle), , 1972 .

[22]  Sergio Nesmachnow,et al.  Parallel implementations of the MinMin heterogeneous computing scheduler in GPU , 2012, CLEI Electron. J..

[23]  Hong Zhang,et al.  Segmented min-min: a static mapping algorithm for meta-tasks on heterogeneous computing systems , 2000, Proceedings 9th Heterogeneous Computing Workshop (HCW 2000) (Cat. No.PR00556).

[24]  Pascal Bouvry,et al.  A two-phase heuristic for the energy-efficient scheduling of independent tasks on computational grids , 2012, Cluster Computing.