Skip to main content
Log in

Parallel Implementations of the Cooperative Particle Swarm Optimization on Many-core and Multi-core Architectures

  • Published:
International Journal of Parallel Programming Aims and scope Submit manuscript

Abstract

Particle swarm optimization (PSO) is an evolutionary heuristics-based method used for continuous function optimization. PSO is stochastic yet very robust. Nevertheless, real-world optimizations require a high computational effort to converge to a good solution for the problem. In general, parallel PSO implementations provide good performance. However, this depends heavily on the parallelization strategy used as well as the number and characteristics of the exploited processors. In this paper, we propose a cooperative strategy, which consists of subdividing an optimization problem into many simpler sub-problems. Each of these focuses on a distinct subset of the problem dimensions. The optimization work for all the selected sub-problems is done in parallel. We map the work onto four different parallel high-performance multiprocessors, which are based on multi- and many-core architectures. The performance of the strategy thus implemented is evaluated for four well known benchmark functions with high-dimension and different complexity. The obtained speedups are compared to that yielded by a serial PSO implementation.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19

Similar content being viewed by others

References

  1. Bergh, F.V., Engelbrecht, A.P.: Cooperative Learning in Neural Networks using Particle Swarm Optimizers. S. Afr. Comput. J. 26, 84–90 (2000)

    Google Scholar 

  2. Cádenas-Montes, M., Vega-Rodríguez, M.A., Rodríguez-Vázquez, J.J., Gómez-Iglesias, A.: Accelerating particle swarm algorithm with GPGPU. In: Proceedings of the 19th Euromicro International Conference on Parallel, Distributed and Network-Based Processing, pp. 560–564. IEEE Press (2011)

  3. Calazan, R.M., Nedjah, N., Mourelle, L.M.: A cooperative parallel particle swarm optimization for high-dimension problems on GPUs. In: Proceedings of the BRICS Conference on Computational Intelligence, Porto de Galinhas, PE, Brazil, IEEE Press (2013)

  4. Calazan, R.M., Nedjah, N., Mourelle, L.M.: Parallel GPU-based implementation of high dimension particle swarm optimizations. In: Proceedings of the Computational Science and Its Applications (ICCSA 2012), LNCS 7333, pp. 148–160 (2013)

  5. Calazan, R.M., Nedjah, N., Mourelle, L.M.: A massively parallel reconfigurable co-processor for computationally demanding particle swarm optimization. IN: Proceedings of the 3rd International Symposium of IEEE Circuits and Systems in Latin America (LASCAS 2012), Cancun, Mexico. IEEE Computer Press, Los Alamitos, CA (2012)

  6. Calazan, R.M., Nedjah, N., Mourelle, L.M.: Swarm grid: a proposal for high performance of parallel particle swarm optimization using GPGPU. In: Proceedings of the 4th International Symposium of IEEE Circuits and Systems in Latin America (LASCAS 2013), Cuzco, Peru, IEEE Computer Press, Los Alamitos, CA (2012)

  7. Calazan, R.M., Nedjah, N., Mourelle, L.M.: Parallel co-processor for PSO. Int. J. High Perform. Syst. Archit. 3(4), 233–240 (2011)

    Article  Google Scholar 

  8. Chapman, B., Jost, G., Van Der Pas, R.: Using OpenMP: Portable Shared Memory Parallel Programming, vol. 10. MIT Press, London (2008)

    Google Scholar 

  9. Cui, Z., Cai, X., Shi, Z.: Using fitness landscape to improve the performance of particle swarm optimization. J. Comput. Theor. Nanosci. 9(2), 258–266 (2012)

    Article  Google Scholar 

  10. Cui, Z., Cai, X., Zeng, J., Sun, G.: Particle swarm optimization with FUSS and RWS for high dimensional functions. Appl. Math. Comput. 205(1), 98–108 (2008)

    MathSciNet  MATH  Google Scholar 

  11. Dennis, J.B., Van Horn, E.C.: Programming semantics for multiprogrammed computations. Commun. ACM 9(3), 143–155 (1966)

    Article  MATH  Google Scholar 

  12. Engelbrecht, A.P.: Fundamentals of Computational Swarm Intelligence. Wiley, New Jersey (2005)

    Google Scholar 

  13. Farber, R.: CUDA Application Design and Development. Morgan Kaufmann, Waltham (2011)

    Google Scholar 

  14. Foster, I.: Designing and Building Parallel Programs, vol. 95. Addison-Wesley, Reading (1995)

    MATH  Google Scholar 

  15. Gropp, W., Smith, B.: Users Manual for the Chameleon Parallel Programming Tools. Mathematics and Computer Science, Argonne National Laboratory, Argonne (1993)

    Book  Google Scholar 

  16. Kennedy, J., Eberhart, R.: Particle swarm optimization. In: Proceedings of the IEEE International Conference on Neural Network, pp. 1942–1948. IEEE Press, Australia (1995)

  17. Kirk, D.J., Hwu, W.: Programming Massively Parallel Processors. Morgan Kaufmann, San Francisco (2010)

    Google Scholar 

  18. MPI_Forum: Message Passing Interface Forum, rev. MPI-2, http://www.mpiforum.org (2012)

  19. Nedjah, N., Calazan, R.M., Mourelle, L.M.: Particle, dimension and cooperation-oriented PSO parallelization strategies for efficient high-dimension problem optimizations on graphics processing units. Comput. J. Sect. C Comput. Intell. Mach. Learn. Data Anal. (2015). doi:10.1093/comjnl/bxu153

  20. Nedjah, N., Coelho, L.S., Mourelle, L.M.: Multi-Objective Swarm Intelligent Systems—Theory & Experiences. Springer, Berlin (2010)

    Book  Google Scholar 

  21. NVIDIA: NVIDIA CUDA C Programming Guide, Version 4.0 NVIDA Corporation (2011)

  22. NVIDIA: CURAND Library, Version 1.0, NVIDA Corporation (2010)

  23. NVIDIA: CUDA C Programming Guide, rev. 3.2, NVIDA Corporation, http://developer.nvidia.com/object/cuda_3_2_downloads (2010)

  24. NVIDIA: NVIDIA Next Generation CUDA Compute Architecture: Fermi, NVIDIA Corporation, http://www.nvidia.com/content/PDF/fermi_white_papers/NVIDIA_Fermi_Compute_Architecture_Whitepaper (2009)

  25. Papadakis, S.E., Bakrtzis, A.G.: A GPU accelerated PSO with application to economic dispatch problem. In: 16th International Conference on Intelligent System Application to Power Systems (ISAP), pp. 1–6. IEEE Press (2011)

  26. Patterson, D.A., Hennessy, J.L.: Computer Organization and Design: The Hardware/Software Interface. Morgan Kaufmann, Waltham (2011)

    MATH  Google Scholar 

  27. Sanders, J., Kandrot, E.: CUDA by Example, An Introduction to General-Purpose GPU Programing. Addison-Wesley, San Francisco (2010)

    Google Scholar 

  28. Veronese, L., Krohling, R.A.: Swarm’s flight: accelerating the particles using C-CUDA. In: 11th IEEE Congress on Evolutionary Computation, pp. 3264–3270. IEEE Press, Trondheim (2009)

  29. Walker, D.W., Dongarra, J.J.: MPI: a standard message passing interface. Supercomputer 12, 56–68 (1996)

    Google Scholar 

  30. Weihang, Z., Curry, J.: Particle swarm with graphics hardware acceleration and local pattern search on bound constrained problems. In: IEEE Swarm Intelligence Symposium (SIS 2009), pp. 1–8. IEEE Press (2009)

  31. Zhou, Y., Tan, Y: GPU-based parallel particle swarm optimization. In: 11th IEEE Congress on Evolutionary Computation (CEC 2009), pp. 1493–1500. IEEE Press, Trondheim (2009)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Nadia Nedjah.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Nedjah, N., Calazan, R.d.M., Mourelle, L.d.M. et al. Parallel Implementations of the Cooperative Particle Swarm Optimization on Many-core and Multi-core Architectures. Int J Parallel Prog 44, 1173–1199 (2016). https://doi.org/10.1007/s10766-015-0368-3

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10766-015-0368-3

Keywords

Navigation