Scheduling parallel identical machines to minimize makespan: A parallel approximation algorithm

Abstract Approximation algorithms for scheduling parallel machines have been studied for decades, leading to significant progress in terms of their approximation guarantees. The algorithms that provide near optimal performance are not feasible to use in practice due to their huge execution time requirements, thus underscoring the importance of developing efficient parallel approximation algorithms with near-optimal performance guarantees that are suitable for execution on current parallel systems, such as multi-core systems. We present the design and analysis of a parallel approximation algorithm for the problem of scheduling jobs on parallel identical machines to minimize makespan. The design of the parallel approximation algorithm is based on the best existing polynomial-time approximation scheme ( PTAS ) for the problem. To the best of our knowledge, this is the first practical parallel approximation algorithm for the minimum makespan scheduling problem that maintains the approximation guarantees of the sequential PTAS and it is specifically designed for execution on shared-memory parallel machines. We implement and run the algorithm on a large multi-core system and perform an extensive experimental analysis on data generated from realistic probability distributions. The results show that our proposed parallel approximation algorithm achieves significant speedup with respect to both the sequential PTAS and the CPLEX-based solver that solves the mixed integer program formulation of the problem.

[1]  Ronald L. Graham,et al.  Bounds for certain multiprocessing anomalies , 1966 .

[2]  David P. Helmbold,et al.  Fast scheduling algorithms on parallel computers , 1984 .

[3]  Edward G. Coffman,et al.  An Application of Bin-Packing to Multiprocessor Scheduling , 1978, SIAM J. Comput..

[4]  Ronald L. Graham,et al.  Bounds on Multiprocessing Timing Anomalies , 1969, SIAM Journal of Applied Mathematics.

[5]  Sartaj Sahni,et al.  Algorithms for Scheduling Independent Tasks , 1976, J. ACM.

[6]  Kam-Hoi Cheng,et al.  Parallel time complexity of a heuristic algorithm for the k-center problem with usage weights , 1990, Proceedings of the Second IEEE Symposium on Parallel and Distributed Processing 1990.

[7]  Daniel Grosu,et al.  A Parallel Approximation Algorithm for Scheduling Parallel Identical Machines , 2017, 2017 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW).

[8]  Benjamin W. Wah,et al.  Systolic processing for dynamic programming problems , 1988, ICPP.

[9]  David P. Williamson,et al.  The Design of Approximation Algorithms , 2011 .

[10]  Michael A. Langston,et al.  Evaluation of a MULTIFIT-Based Scheduling Algorithm , 1986, J. Algorithms.

[11]  Vijay V. Vazirani,et al.  Primal-Dual RNC Approximation Algorithms for Set Cover and Covering Integer Programs , 1999, SIAM J. Comput..

[12]  David S. Johnson,et al.  `` Strong '' NP-Completeness Results: Motivation, Examples, and Implications , 1978, JACM.

[13]  Donald K. Friesen,et al.  Tighter Bounds for the Multifit Processor Scheduling Algorithm , 1984, SIAM J. Comput..

[14]  Guy E. Blelloch,et al.  Linear-work greedy parallel approximate set cover and variants , 2011, SPAA '11.

[15]  Guang R. Gao,et al.  A Multithreaded Parallel Implementation of a Dynamic Programming Algorithm for Sequence Comparison , 2000, Pacific Symposium on Biocomputing.

[16]  Samir Khuller,et al.  A Primal-Dual Parallel Approximation Technique Applied to Weighted Set and Vertex Covers , 1994, J. Algorithms.

[17]  Todd Mytkowicz,et al.  Parallelizing dynamic programming through rank convergence , 2014, PPoPP '14.

[18]  Ernst W. Mayr,et al.  Parallel Approximation Algorithms , 1988, FGCS.

[19]  Guy E. Blelloch,et al.  Parallel approximation algorithms for facility-location problems , 2010, SPAA '10.

[20]  M. Yue On the exact upper bound for the multifit processor scheduling algorithm , 1990 .

[21]  David B. Shmoys,et al.  Using dual approximation algorithms for scheduling problems: Theoretical and practical results , 1985, 26th Annual Symposium on Foundations of Computer Science (sfcs 1985).

[22]  Eugene L. Lawler,et al.  Sequencing and scheduling: algorithms and complexity , 1989 .

[23]  C. N. Potts,et al.  Analysis of a linear programming heuristic for scheduling unrelated parallel machines , 1985, Discret. Appl. Math..