Abstract
Evolutionary algorithms can take advantage of parallel computing, because it decreases the computational time and increases the size of processable instances. In this chapter, various options for a parallelization of Discrete Self-Organising Migrating Algorithm are described, with three implemented parallel variants described in greater detail. They covers the most frequently used hardware and software technologies, namely: parallel computing with threads and shared memory; general purpose programming on GPUs with CUDA; and distributed computing with MPI. The first two implementations speed up the computation, the last one moreover changes the original algorithm. It adds a new layer that simplifies its usage in the distributed environment.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
The example is a part of Kaira’s distribution.
- 11.
- 12.
- 13.
References
Alba, E., Luque, G., Nesmachnow, S.: Parallel metaheuristics: recent advances and new trends. International Trans. Oper. Res. 20(1), 1–48 (2013). doi:10.1111/j.1475-3995.2012.00862.x. URL http://dx.doi.org/10.1111/j.1475-3995.2012.00862.x
Araujo, L., Merelo, J.: Diversity through multiculturality: assessing migrant choice policies in an island model. IEEE Trans. Evol. Comput. 15(4), 456–469 (2011). doi:10.1109/TEVC.2010.2064322
Böhm, S., Běhálek, M., Meca, O., Šurkovskỳ, M.: Visual programming of MPI applications: debugging, performance analysis, and performance prediction. Comput. Sci. Inf. Syst. 11(4), 1315–1336 (2014)
Böhm, S., Běhálek, M., Meca, O., Šurkovský, M.: Kaira: development environment for mpi applications. In: Ciardo, G., Kindler, E. (eds.) Application and theory of petri nets and concurrency. Lecture Notes in Computer Science, vol. 8489, pp. 385–394. Springer International Publishing, Berlin (2014). doi:10.1007/978-3-319-07734-5_22. URL http://dx.doi.org/10.1007/978-3-319-07734-5_22
Cheng, J., Grossman, M., McKercher, T.: Professional CUDA C Programming, 1 edn. Wrox, Birmingham (2014)
Cook, S.: CUDA Programming: A Developer’s Guide to Parallel Computing with GPUs (Applications of GPU Computing), 1 edn. Morgan Kaufmann, Burlington (2012)
Davendra, D., Senkerik, R., Zelinka, I., Pluhacek, M., Bialic-Davendra, M.: Utilising the chaos-induced discrete self organising migrating algorithm to solve the lot-streaming flowshop scheduling problem with setup time. Soft. Comput. 18(4), 669–681 (2014)
Davendra, D., Zelinka, I., Bialic-Davendra, M., Senkerik, R., Jasek, R.: Discrete self-organising migrating algorithm for flow-shop scheduling with no-wait makespan. Math. Comput. Model. 57(12), 100–110 (2013). doi:http://dx.doi.org/10.1016/j.mcm.2011.05.029. URL http://www.sciencedirect.com/science/article/pii/S0895717711002998. Mathematical and Computer Modelling in Power Control and Optimization
Foster, I.: Designing and Building Parallel Programs: Concepts and Tools for Parallel Software Engineering. Addison-Wesley Longman Publishing Co. Inc, Boston (1995)
Jensen, K., Kristensen, L.M.: Coloured Petri Nets—Modelling and Validation of Concurrent Systems. Springer, Berlin (2009)
Kaeli, D.R., Mistry, P., Schaa, D., Zhang, D.P.: Heterogeneous Computing with OpenCL 2.0, 1st edn. Morgan Kaufmann, Burlington (2015)
Kindratenko, V. (ed.): Numerical Computations with GPUs, 2014 edn. Springer, Berlin (2014)
Kirk, D.B., Mei, W. Hwu, W.: Programming Massively Parallel Processors: A Hands-on Approach, 2 edn. Morgan Kaufmann, Burlington (2012)
Kushida, J.I., Hara, A., Takahama, T., Kido, A.: Island-based differential evolution with varying subpopulation size. In: 2013 IEEE Sixth International Workshop on Computational Intelligence and Applications (IWCIA), pp. 119–124. IEEE (2013)
Mattson, T.G., Sanders, B.A., Massingill, B.L.: Patterns for Parallel Programming, 1 edn. Addison-Wesley Professional, Boston (2004)
McCool, M., Reinders, J., Robison, A.: Structured Parallel Programming: Patterns for Efficient Computation, 1st edn. Morgan Kaufmann, Burlington (2012)
Metlicka, M., Davendra, D., Hermann, F., Meier, M., Amann, M.: GPU accelerated NEH algorithm. In: 2014 IEEE Symposium on Computational Intelligence in Production and Logistics Systems (CIPLS), pp. 114–119 (2014). doi:10.1109/CIPLS.2014.7007169
Munshi, A., Gaster, B., Mattson, T.G., Fung, J., Ginsburg, D.: OpenCL Programming Guide, 1st edn. Addison-Wesley Professional, Boston (2011)
NVIDIA: Whitepaper: NVIDIA’s Next Generation CUDA Compute Architecture: Kepler GK110. online (2012). URL http://www.nvidia.com/content/PDF/kepler/NVIDIA-kepler-GK110-Architecture-Whitepaper.pdf
Pacheco, P.: An Introduction to Parallel Programming, 1st edn. Morgan Kaufmann, Burlington (2011)
Pedemonte, M., Nesmachnow, S., Cancela, H.: A survey on parallel ant colony optimization. Appl. Soft Comput. 11(8), 5181–5197 (2011). doi:http://dx.doi.org/10.1016/j.asoc.2011.05.042. URL http://www.sciencedirect.com/science/article/pii/S156849461100202X
Ruciński, M., Izzo, D., Biscani, F.: On the impact of the migration topology on the island model. Parallel Comput. 36(10), 555–571 (2010)
Sanders, J., Kandrot, E.: CUDA by Example: An Introduction to General-Purpose GPU Programming, 1st edn. Addison-Wesley Professional, Boston (2010)
Scarpino, M.: OpenCL in Action: How to Accelerate Graphics and Computations, 1st edn. Manning Publications, Greenwich (2011)
Suh, J.W., Kim, Y.: Accelerating MATLAB with GPU Computing: A Primer with Examples, 1st edn. Morgan Kaufmann, Burlington (2013)
Taillard, E., Melab, N., Talbi, E.G., et al.: Parallelization strategies for hybrid metaheuristics using a single GPU and multi-core resources. In: Parallel Problem Solving from Nature-PPSN XII, pp. 368–377. Springer, Berlin (2012)
White, T.: Hadoop: The Definitive Guide, 3rd edn. Yahoo Press (2012)
Wilt, N.: CUDA Handbook: A Comprehensive Guide to GPU Programming, 1st edn. Addison-Wesley Professional, Boston (2013)
Acknowledgements
This work was supported by the IT4Innovations Centre of Excellence project (CZ.1.05/1.1.00/02.0070), funded by the European Regional Development Fund and the national budget of the Czech Republic via the Research and Development for Innovations Operational Programme, as well as Czech Ministry of Education, Youth and Sports via the project Large Research, Development and Innovations Infrastructures (LM2011033). The work was also partially supported by Grants of SGS No. SP2015/146 and SP2015/123, VŠB—Technical University of Ostrava, Czech Republic.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing Switzerland
About this chapter
Cite this chapter
Běhálek, M., Gajdoš, P., Davendra, D. (2016). Utilization of Parallel Computing for Discrete Self-organizing Migration Algorithm. In: Davendra, D., Zelinka, I. (eds) Self-Organizing Migrating Algorithm. Studies in Computational Intelligence, vol 626. Springer, Cham. https://doi.org/10.1007/978-3-319-28161-2_6
Download citation
DOI: https://doi.org/10.1007/978-3-319-28161-2_6
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-28159-9
Online ISBN: 978-3-319-28161-2
eBook Packages: EngineeringEngineering (R0)