Skip to main content

Utilization of Parallel Computing for Discrete Self-organizing Migration Algorithm

  • Chapter
  • First Online:
Self-Organizing Migrating Algorithm

Part of the book series: Studies in Computational Intelligence ((SCI,volume 626))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    http://www.intel.com/content/www/us/en/processors/xeon/xeon-phi-detail.html.

  2. 2.

    http://www.top500.org/system/177975.

  3. 3.

    http://www.cplusplus.com/reference/thread/thread/.

  4. 4.

    http://openmp.org/.

  5. 5.

    https://www.cilkplus.org/.

  6. 6.

    http://www.mpi-forum.org/.

  7. 7.

    http://www.khronos.org.

  8. 8.

    http://www.microsoft.com.

  9. 9.

    https://gcc.gnu.org/onlinedocs/libgomp/Enabling-OpenMP.html.

  10. 10.

    The example is a part of Kaira’s distribution.

  11. 11.

    http://www.cplusplus.com/reference/cstdlib/rand/.

  12. 12.

    http://www.it4i.cz/.

  13. 13.

    https://docs.it4i.cz/anselm-cluster-documentation/hardware-overview.

References

  1. 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

    Google Scholar 

  2. 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

    Article  Google Scholar 

  3. 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)

    Article  Google Scholar 

  4. 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

    Google Scholar 

  5. Cheng, J., Grossman, M., McKercher, T.: Professional CUDA C Programming, 1 edn. Wrox, Birmingham (2014)

    Google Scholar 

  6. Cook, S.: CUDA Programming: A Developer’s Guide to Parallel Computing with GPUs (Applications of GPU Computing), 1 edn. Morgan Kaufmann, Burlington (2012)

    Google Scholar 

  7. 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)

    Article  Google Scholar 

  8. 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

    Google Scholar 

  9. Foster, I.: Designing and Building Parallel Programs: Concepts and Tools for Parallel Software Engineering. Addison-Wesley Longman Publishing Co. Inc, Boston (1995)

    MATH  Google Scholar 

  10. Jensen, K., Kristensen, L.M.: Coloured Petri Nets—Modelling and Validation of Concurrent Systems. Springer, Berlin (2009)

    Google Scholar 

  11. Kaeli, D.R., Mistry, P., Schaa, D., Zhang, D.P.: Heterogeneous Computing with OpenCL 2.0, 1st edn. Morgan Kaufmann, Burlington (2015)

    Google Scholar 

  12. Kindratenko, V. (ed.): Numerical Computations with GPUs, 2014 edn. Springer, Berlin (2014)

    Google Scholar 

  13. Kirk, D.B., Mei, W. Hwu, W.: Programming Massively Parallel Processors: A Hands-on Approach, 2 edn. Morgan Kaufmann, Burlington (2012)

    Google Scholar 

  14. 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)

    Google Scholar 

  15. Mattson, T.G., Sanders, B.A., Massingill, B.L.: Patterns for Parallel Programming, 1 edn. Addison-Wesley Professional, Boston (2004)

    Google Scholar 

  16. McCool, M., Reinders, J., Robison, A.: Structured Parallel Programming: Patterns for Efficient Computation, 1st edn. Morgan Kaufmann, Burlington (2012)

    Google Scholar 

  17. 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

  18. Munshi, A., Gaster, B., Mattson, T.G., Fung, J., Ginsburg, D.: OpenCL Programming Guide, 1st edn. Addison-Wesley Professional, Boston (2011)

    Google Scholar 

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

  20. Pacheco, P.: An Introduction to Parallel Programming, 1st edn. Morgan Kaufmann, Burlington (2011)

    Google Scholar 

  21. 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

    Google Scholar 

  22. 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)

    Article  MATH  Google Scholar 

  23. Sanders, J., Kandrot, E.: CUDA by Example: An Introduction to General-Purpose GPU Programming, 1st edn. Addison-Wesley Professional, Boston (2010)

    Google Scholar 

  24. Scarpino, M.: OpenCL in Action: How to Accelerate Graphics and Computations, 1st edn. Manning Publications, Greenwich (2011)

    Google Scholar 

  25. Suh, J.W., Kim, Y.: Accelerating MATLAB with GPU Computing: A Primer with Examples, 1st edn. Morgan Kaufmann, Burlington (2013)

    Google Scholar 

  26. 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)

    Google Scholar 

  27. White, T.: Hadoop: The Definitive Guide, 3rd edn. Yahoo Press (2012)

    Google Scholar 

  28. Wilt, N.: CUDA Handbook: A Comprehensive Guide to GPU Programming, 1st edn. Addison-Wesley Professional, Boston (2013)

    Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Marek Běhálek .

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics