Abstract
As the distributed computing systems have been widely used in many research and industrial areas, the problem of allocating tasks to available processors in the system efficiently has been an important concern. Since the problem is proven to be NP-hard, heuristic-based optimization techniques have been proposed to solve the task allocation problem. Particularly, the current cloud-based systems have been grown massively requiring multiple features like lower cost, higher reliability, and higher throughput; therefore, the problem has become more challenging and approximate methods have gained more importance. Migrating birds optimization (MBO) algorithm offers successful solutions, especially for quadratic assignment problems. Inspired by the movement of the birds, it exhibits good results by its population-based approach . Since the algorithm needs to deal with many individuals in the population, and the neighbor solution generation phase takes substantial time for large problem instances, we need parallelism to have execution time improvements and make the algorithm practical for large-scale problems. In this work, we propose a scalable parallel implementation of the MBO algorithm, PMBO, for the multi-objective task allocation problem. We redesigned the implementation of the MBO algorithm so that its computationally heavy independent tasks are executed concurrently in separate threads. We compare our implementation with three parallel island-based approaches. The experimental results demonstrate that our implementation exhibits substantial solution quality improvements for difficult problem instances as the computing resources, namely parallelism, increase. Our scalability analysis also presents that higher parallelism levels offer larger solution improvement for the PMBO over the island-based parallel implementations on very hard problem instances.
Similar content being viewed by others
References
Alba E, Tomassini M (2002) Parallelism and evolutionary algorithms. IEEE Trans Evol Comput 6(5):443–462
Alba E, Troya JM (1999) A survey of parallel distributed genetic algorithms. Complexity 4(4):31–52
Alba E, Troya JM (2000) Influence of the migration policy in parallel distributed gas with structured and panmictic populations. Appl Intell 12:163–181
Al-Betar MA, Awadallah MA, Doush IA, Hammouri AI, Mafarja M, Alyasseri ZAA (2019) Island flower pollination algorithm for global optimization. J Supercomput 75(8):5280–5323
Attiya G, Hamam Y (2006) Task allocation for maximizing reliability of distributed systems: a simulated annealing approach. J Parallel Distrib Comput 66(10):1259–1266
Cahon S, Melab N, Talbi EG (2004) Paradiseo: a framework for the reusable design of parallel and distributed metaheuristics. J Heuristics 10(3):357–380
Chen WH, Lin CS (2000) A hybrid heuristic to solve a task allocation problem. Comput Oper Res 27(3):287–303
Chu D, Till M, Zomaya A (2005) Parallel ant colony optimization for 3d protein structure prediction using the hp lattice model. In: 19th IEEE International Parallel and Distributed Processing Symposium (IPDPS)
Duman E, Uysal M, Alkaya AF (2012) Migrating birds optimization: a new metaheuristic approach and its performance on quadratic assignment problem. Inf Sci 217:65–77
Ernst A, Jiang H, Krishnamoorthy M (2006) Exact solutions to task allocation problems. Manage Sci 52(10):1634–1646
Hadj-Alouane A (1996) A hybrid genetic/optimization algorithm for a task allocation problem
Kang Q, He H, Deng R (1997) Bi-objective task assignment in heterogeneous distributed systems using honeybee mating optimization. In: IBM Microelectronics Division
Kang Q, He H, Deng R (2012) Bi-objective task assignment in heterogeneous distributed systems using honeybee mating optimization. Appl Math Comput 219(5):2589–2600
Kang Q, He H, Wei J (2013) An effective iterated greedy algorithm for reliability-oriented task allocation in distributed computing systems. J Parallel Distrib Comput 73(8):1106–1115
Kang QM, He H, Song HM, Deng R (2010) Task allocation for maximizing reliability of distributed computing systems using honeybee mating optimization. J Syst Softw 83(11):2165–2174
Kartik S, Murthy CSR (1997) Task allocation algorithms for maximizing reliability of distributed computing systems. IEEE Trans Comput 46(6):719–724
Lai CM, Yeh WC, Huang YC (2017) Entropic simplified swarm optimization for the task assignment problem. Appl Soft Comput 58:115–127
Lassig J, Sudholt D (2010) The benefit of migration in parallel evolutionary algorithms. In: Proceedings of the 12th Annual Conference on Genetic and Evolutionary Computation (GECCO)
Lassig J, Sudholt D (2013) Design and analysis of migration in parallel evolutionary algorithms. Soft Comput 17(7):1121–1144
Limmer S, Fey D (2017) Comparison of common parallel architectures for the execution of the island model and the global parallelization of evolutionary algorithms. Concurr Comput Practice Exp 29(9):e3797
Lin SW, Ying KC, Huang CY (2013) Multiprocessor task scheduling in multistage hybrid flowshops: a hybrid artificial bee colony algorithm with bi-directional planning. Comput Oper Res 40(5):1186–1195
Liu YY, Wang S (2015) A scalable parallel genetic algorithm for the generalized assignment problem. Parallel Comput 46((C)):98–119
Luo GH, Huang SK, Chang YS, Yuan SM (2014) A parallel bees algorithm implementation on gpu. J Syst Architect 60:271–279
Luong TV, Melab N, Talbi EG (2010) Gpu-based island model for evolutionary algorithms. In: Annual Conference on Genetic and Evolutionary Computation (GECCO)
Middendorf M, Reischle F, Schmeck H (2002) Multi colony ant algorithms. J Heuristics 8(3):305–320
Mirzazadeh M, Shirdel GH, Masoumi B (2011) A honey bee algorithm to solve quadratic assignment problem. J Optim Ind Eng 4(9):27–36
Mittal S (2016) A survey of techniques for architecting and managing asymmetric multicore processors. ACM Comput Surv 48:3
Neumann F, Oliveto PS, Rudolph G, Sudholt D (2011) On the effectiveness of crossover for migration in parallel evolutionary algorithms. In: Proceedings of the 13th Annual Conference on Genetic and Evolutionary Computation (GECCO)
Niroomand S, Hadi-Vencheh A, şahin R, Vizvári B (2015) Modified migrating birds optimization algorithm for closed loop layout with exact distances in flexible manufacturing systems. Expert Syst Appl 42(19):6586–6597
Oz D (2017) An improvement on the migrating birds optimization with a problem-specific neighboring function for the multi-objective task allocation problem. Expert Syst Appl 67:304–311
Pan QK, Dong Y (2014) An improved migrating birds optimisation for a hybrid flowshop scheduling with total flowtime minimisation. Inf Sci 277:643–655
Pendharkar PC (2015) An ant colony optimization heuristic for constrained task allocation problem. J Comput Sci 7:37–47
Pospichal P, Jaros J, Schwarz J (2010) Parallel genetic algorithm on the cuda architecture. In: European Conference on the Applications of Evolutionary Computation (EvoApplications)
Randall M, Lewis A (2002) A parallel implementation of ant colony optimization. J Parallel Distrib Comput 62:1421–1432
Salman A, Ahmad I, Al-Madani S (2002) Particle swarm optimization for task assignment problem. Microprocess Microsyst 26(8):363–371
Shatz S, Wang JP, Goto M (1992) Task allocation for maximizing reliability of distributed computer systems. IEEE Trans Comput 41(9):1156–1168
Stone HS (1977) Multiprocessor scheduling with the aid of network flow algorithms. IEEE Trans Software Eng 3(1):85–93
Tanese R (1989) Distributed genetic algorithms. In: Proceedings of the 3rd International Conference on Genetic Algorithms (ICGA)
Ucar B, Aykanat C, Kaya K, Ikinci M (2006) Task assignment in heterogeneous computing systems. J Parallel Distrib Comput 66(1):32–46
Vajda A (2011) Programming Many-Core chips, 1st edn. Springer, Berlin
Vidyarthi DP, Tripathi AK (2001) Maximizing reliability of distributed computing system with task allocation using simple genetic algorithm. J Syst Architect 47(6):549–554
Yadav PK, Singh MP, Sharma K (2011) Article: an optimal task allocation model for system cost analysis in heterogeneous distributed computing systems: a heuristic approach. Int J Comput Appl 28(4):30–37
Yeh WC, Lai CM, Huang YC, Cheng TW, Huang HP, Jiang Y (2017) Simplified swarm optimization for task assignment problem in distributed computing system. In: International Conference on Natural Computation, Fuzzy Systems and Knowledge Discovery (ICNC-FSKD)
Yin PY, Yu SS, Wang PP, Wang YT (2007) Multi-objective task allocation in distributed computing systems by hybrid particle swarm optimization. Appl Math Comput 184(2):407–420
Zhang Q, Cheng L, Boutaba R (2010) loud computing: state-of-the-art and research challenges. J Internet Serv Appl 1:7–18
Acknowledgements
Computing resources used in this work were provided by the National Center for High-Performance Computing of Turkey (UHeM) under Grant Number 1006722019. This work was supported within the scope of the scientific research project which was accepted by the Project Evaluation Commission of Yasar University under the project number of BAP071 and the title of “Parallelization of Evolutionary Algorithms for The Multi-objective Task Allocation Problem.”
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
Öz, D., Öz, I. Scalable parallel implementation of migrating birds optimization for the multi-objective task allocation problem. J Supercomput 77, 2689–2712 (2021). https://doi.org/10.1007/s11227-020-03369-w
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-020-03369-w