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.



















Similar content being viewed by others
References
Bergh, F.V., Engelbrecht, A.P.: Cooperative Learning in Neural Networks using Particle Swarm Optimizers. S. Afr. Comput. J. 26, 84–90 (2000)
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)
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)
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)
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)
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)
Calazan, R.M., Nedjah, N., Mourelle, L.M.: Parallel co-processor for PSO. Int. J. High Perform. Syst. Archit. 3(4), 233–240 (2011)
Chapman, B., Jost, G., Van Der Pas, R.: Using OpenMP: Portable Shared Memory Parallel Programming, vol. 10. MIT Press, London (2008)
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)
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)
Dennis, J.B., Van Horn, E.C.: Programming semantics for multiprogrammed computations. Commun. ACM 9(3), 143–155 (1966)
Engelbrecht, A.P.: Fundamentals of Computational Swarm Intelligence. Wiley, New Jersey (2005)
Farber, R.: CUDA Application Design and Development. Morgan Kaufmann, Waltham (2011)
Foster, I.: Designing and Building Parallel Programs, vol. 95. Addison-Wesley, Reading (1995)
Gropp, W., Smith, B.: Users Manual for the Chameleon Parallel Programming Tools. Mathematics and Computer Science, Argonne National Laboratory, Argonne (1993)
Kennedy, J., Eberhart, R.: Particle swarm optimization. In: Proceedings of the IEEE International Conference on Neural Network, pp. 1942–1948. IEEE Press, Australia (1995)
Kirk, D.J., Hwu, W.: Programming Massively Parallel Processors. Morgan Kaufmann, San Francisco (2010)
MPI_Forum: Message Passing Interface Forum, rev. MPI-2, http://www.mpiforum.org (2012)
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
Nedjah, N., Coelho, L.S., Mourelle, L.M.: Multi-Objective Swarm Intelligent Systems—Theory & Experiences. Springer, Berlin (2010)
NVIDIA: NVIDIA CUDA C Programming Guide, Version 4.0 NVIDA Corporation (2011)
NVIDIA: CURAND Library, Version 1.0, NVIDA Corporation (2010)
NVIDIA: CUDA C Programming Guide, rev. 3.2, NVIDA Corporation, http://developer.nvidia.com/object/cuda_3_2_downloads (2010)
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)
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)
Patterson, D.A., Hennessy, J.L.: Computer Organization and Design: The Hardware/Software Interface. Morgan Kaufmann, Waltham (2011)
Sanders, J., Kandrot, E.: CUDA by Example, An Introduction to General-Purpose GPU Programing. Addison-Wesley, San Francisco (2010)
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)
Walker, D.W., Dongarra, J.J.: MPI: a standard message passing interface. Supercomputer 12, 56–68 (1996)
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)
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)
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10766-015-0368-3