Abstract
Modern computational platforms are characterized by the heterogeneity of their processing elements. Additionally, there are many algorithms which can be structured as a set of procedures or tasks with different computational cost. Balancing the computational load among the available processing elements is one of the main keys for the optimal exploitation of such heterogeneous platforms. When the processing time of any procedure executed on any of the available processing elements is known, this workload-balancing problem can be modeled as the well-known scheduling on unrelated parallel machines problem. Solving this type of problems is a big challenge due to the high heterogeneity on both, the tasks and the machines. In this paper, the balancing problem has been formally defined as a global optimization problem which minimizes the makespan (parallel runtime) and a heuristic based on a Genetic Algorithm, called Genetic Scheduler (GenS), has been developed to solve it. In order to analyze the behavior of GenS for several heterogeneous clusters, an example taken from the field of statistical mechanics has been considered as a case study: an active microrheology model. Given this type of problem and a heterogeneous cluster, we seek to minimize the total runtime to extend and analyze in depth the case of study. In such context, a task consists of the simulation of a tracer particle pulled into a cubic box with smaller bath particles. The computational load depends on the total number of the bath particles. Moreover, GenS has been compared to other dynamic and static scheduling approaches. The experimental results of such a comparison show that GenS outperforms the rest of the tested alternatives achieving a better distribution of the computational workload on a heterogeneous cluster. So, the scheduling strategy developed in this paper is of potential interest for any application which requires the execution of many tasks of different duration (a priori known) on a heterogeneous cluster.
Similar content being viewed by others
References
Hennessy JL, Patterson DA (2011) Computer architecture: a quantitative approach. Morgan Kaufmann, Burlington
Lenstra JK, Shmoys DB, Tardos E (1990) Approximation algorithms for scheduling unrelated parallel machines. Math Progr 46(3):259–271
Shmoys DB, Tardos E (1993) An approximation algorithm for the generalized assignment problem. Math Progr 62(3):461–474. https://doi.org/10.1007/BF01585178
Augonnet C, Thibault S, Namyst R, Wacrenier P (2011) StarPU: a unified platform for task scheduling on heterogeneous multicore architectures. Concurr Comp Pract E 23(2):187–198
Luk C, Hong S, Kim H (2009) Qilin: exploiting parallelism on heterogeneous multiprocessors with adaptive mapping. In: Proceedings of the 42nd Annual IEEE/ACM International Symposium on Microarchitecture. MICRO 42. ACM, New York, pp 45–55
Pea McCormick (2007) Scout: a data-parallel programming language for graphics processors. Parallel Comput 33(10):648–662
Chend Q, Guo M (2017) Task scheduling for multi-core and parallel architectures: challenges solutions and perspectives. Springer, Berlin
Cicuta P, Donald AM (2007) Microrheology: a review of the method and applications. Soft Matter 3:1449–1455
Puertas AM, Voigtmann T (2014) Microrheology of colloidal systems. J Phys Condens Matter 26(24):243101
Gehrke JC, Jansen K, Kraft SEJ, Schikowski J (2016) A PTAS for scheduling unrelated machines of few different types. In: SOFSEM 2016: Theory and Practice of Computer Science. vol. 9587 of Lecture Notes in Computer Science. Springer, Berlin, pp 45–55
Sels V, Coelho J, Dias AM, Vanhoucke M (2015) Hybrid tabu search and a truncated branch-and-bound for the unrelated parallel machine scheduling problem. Comput Oper Res 53:107–117. https://doi.org/10.1016/j.cor.2014.08.002
Wang T, Liu Z, Chen Y, Xu Y, Dai X (2014) Load balancing task scheduling based on genetic algorithm in cloud computing. In: Proceedings of the 2014 IEEE 12th International Conference on Dependable, Autonomic and Secure Computing. DASC ’14. IEEE Computer Society, pp 146–152
Sharma H, Sekhon GS (2017) Load balancing in cloud using enhanced genetic algorithm. Int J Innov Adv Comput Sci 6(1):13–19
Adan J, Adan I, Akcay A, Van den Dobbelsteen R, Stokkermans J (2018) A hybrid genetic algorithm for parallel machine scheduling at semiconductor back-end production. In: Twenty-Eighth International Conference on Automated Planning and Scheduling
Al-Said IAM, Al-Saiyd N, Attia FT (2008) Multiprocessor scheduling based on genetic algorithms. In: The International Arab Conference on Information Technology (ACIT’2008)
Cappadonna FA, Costa A, Fichera S (2012) Three genetic algorithm approaches to the unrelated parallel machine scheduling problem with limited human resources. In: In Proceedings of the 4th International Joint Conference on Computational Intelligence (ECTA-2012). pp 170–175
Hou ES, Ansari N, Ren H (1994) A genetic algorithm for multiprocessor scheduling. IEEE Trans Parallel Distrib Syst 5(2):113–120
Jooyayeshendi A, Akkasi A (2015) Genetic algorithm for task scheduling in heterogeneous distributed computing system. Int J Sci Eng Res 6(7):1338–1345
Page AJ, Naughton TJ (2005) Dynamic task scheduling using genetic algorithms for heterogeneous distributed computing. In: 19th IEEE International Parallel and Distributed Processing Symposium. 6(7)
Kaiser T, Jegede O, Ferens K, Buchanan D (2013) A genetic algorithm for multiprocessor task scheduling. In: Proceedings of the International Conference on Genetic and Evolutionary Methods (GEM), The Steering Committee of The World Congress in Computer Science, p 1
Vallada E, Ruiz R (2011) A genetic algorithm for the unrelated parallel machine scheduling problem with sequence dependent setup times. Eur J Oper Res 211(3):612–622
Woodside CM, Monforton GG (1993) Fast allocation of processes in distributed and parallel systems. IEEE Trans Parallel Distrib Syst 2:164–174
Waigh TA (2016) Advances in the microrheology of complex fluids. Rep Prog Phys 79(7):074601
Dhont JKG (1996) An introduction to dynamics of colloids. Studies in interface science. Elsevier Science, Amsterdam
Orts F, Ortega G, Garzón EM, Puertas AM (2019) Finite size effects in active microrheology in colloids. Comput Phys Commun 236(1):8–14
Hasimoto H (1959) On the periodic fundamental solutions of the Stokes equations and their application to viscous flow past a cubic array of spheres. J Fluid Mech 5:317–328
Ortega G, Puertas AM, de Las Nieves FJ, Garzón EM (2016) GPU computing to speed-up the resolution of microrheology models. In: Algorithms and Architectures for Parallel Processing: Proceedings of ICA3PP Conference. Springer International Publishing, Cham pp 457–466
Ortega G, Puertas AM, Garzón EM (2017) Accelerating the problem of microrheology in colloidal systems on a GPU. J Supercomput 73(1):370–383
Acknowledgements
This work has been partially supported by the Spanish Ministry of Science throughout Project RTI2018-095993-B-I00 and by the European Regional Development Fund (ERDF). F. Orts is supported by an FPI Fellowship (attached to Project TIN2015-66680-C2-1-R) from the Spanish Ministry of Education.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Orts, F., Ortega, G., Puertas, A.M. et al. On solving the unrelated parallel machine scheduling problem: active microrheology as a case study. J Supercomput 76, 8494–8509 (2020). https://doi.org/10.1007/s11227-019-03121-z
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-019-03121-z