Skip to main content
Log in

Fish School Search with Algorithmic Skeletons

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

Abstract

Low-level parallel programming is a tedious and error-prone task, especially when combining several programming models such as OpenMP, MPI, and CUDA. Algorithmic skeletons are a well-known high-level solution to these issues. They provide recurring building blocks such as map, fold, and zip, which are used by the application programmer and executed in parallel. In the present paper, we use the skeleton library Muesli in order to solve hard optimization problems by applying swarm intelligence (SI)-based metaheuristics. We investigate, how much hardware can reasonably be employed in order to find quickly a good solution using Fish School Search (FSS), which is a rather new and innovative SI-based metaheuristic. Moreover, we compare the implementation effort and performance of low-level and high-level implementations of FSS.

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.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6

Similar content being viewed by others

References

  1. Chapman, B., Jost, G., van der Pas, R.: Using OpenMP: Portable Shared Memory Parallel Programming (Scientific and Engineering Computation). MIT Press, Cambridge (2008)

    Google Scholar 

  2. Gropp, W., Lusk, E., Skjellum, A.: Using MPI: Portable Parallel Programming with the Message-Passing Interface (Scientific and Engineering Computation), 3rd edn. MIT Press, Cambridge (2014)

    Google Scholar 

  3. Nickolls, J., Buck, I., Garland, M., Skadron, K.: Scalable parallel programming with CUDA. Queue 6(2), 40–53 (2008)

    Article  Google Scholar 

  4. Stone, J.E., Gohara, D., Shi, G.: OpenCL: a parallel programming standard for heterogeneous computing systems. Comput. Sci. Eng. 12(3), 66–72 (2010)

    Article  Google Scholar 

  5. Cole, M.: Algorithmic Skeletons: Structured Management of Parallel Computation. MIT Press, Cambridge (1991)

    MATH  Google Scholar 

  6. Eberhart, R., Kennedy, J.: A new optimizer using particle swarm theory. In: Proceedings of the Sixth International Symposium on Micro Machine and Human Science, vol. 1, New York, NY, USA, pp. 39–43. IEEE (1995)

  7. Talbi, E.-G.: Metaheuristics: From Design to Implementation, Volume 74 of Wiley Series on Parallel and Distributed Computing. Wiley, Hoboken (2009)

    Book  Google Scholar 

  8. Bastos-Filho, C.J.A., Buarque de Lima Neto, F., Lins, A.J. C.C., Nascimento, A.I.S., Lima, M.P.: A novel search algorithm based on fish school behavior. In: Proceedings of the IEEE International Conference on Systems, Man and Cybernetics (SMC ’08), pp. 2646–2651. IEEE (2008)

  9. Lins, A.J.C.C., Bastos-Filho, C.J.A., Nascimento, D.N.O., Oliveira Junior, M.A.C., Buarque de Lima Neto, F.: Analysis of the performance of the fish school search algorithm running in graphic processing units. In: Parpinelli, R., Lopes, H.S. (eds.) Theory and New Applications of Swarm Intelligence, pp. 17–32. INTECH, Shanghai (2012). https://www.intechopen.com/books/theory-and-new-applications-of-swarm-intelligence/analysis-of-the-performance-of-the-fish-school-search-algorithm-running-in-graphic-processing-units

  10. Pessoa, L.F.A., Horstkemper, D., Braga, D.S., Hellingrath, B., Lacerda, M.G.P., Buarque de Lima Neto, F.: Comparison of optimization techniques for complex supply chain network planning problems. In: Proceedings of the XXVII ANPET - Congresso Nacional de Pesquisa e Ensino em Transporte (2013)

  11. Kuchen, H.: A Skeleton library. In: Monien, B., Feldmann, R. (eds.) Proceedings of the 8th International Euro-Par Conference on Parallel Processing, Volume 2400 of Lecture Notes in Computer Science, pp. 620–629. Springer, Berlin (2002)

    Google Scholar 

  12. Ciechanowicz, P., Kuchen, H.: Enhancing Muesli’s data parallel skeletons for multi-core computer architectures. In: Proceedings of the 12th IEEE International Conference on High Performance Computing and Communications (HPPC ’10), pp. 108–113. IEEE (2010)

  13. Ernsting, S., Kuchen, H.: Algorithmic skeletons for multi-core, multi-GPU systems and clusters. Int. J. High Perform. Comput. Netw. 7(2), 129–138 (2012)

    Article  Google Scholar 

  14. Ernsting, S., Kuchen, H.: Data parallel algorithmic Skeletons with accelerator support. Int. J. Parallel Program. 45(2), 283–299 (2017)

    Article  Google Scholar 

  15. Riguzzi, F.: A survey of software metrics, Technical Report no. DEIS-LIA-96-010, Series no. 17, Università degli Studi di Bologna (1996). http://ds.ing.unife.it/~friguzzi/Papers/Rig-TR96.pdf

  16. Lacerda, M.G.P., Lima Neto, F.B.: A multithreaded implementation of the Fish School Search algorithm. In: Advances in Artificial Life and Evolutionary Computation: 9th Italian Workshop, WIVACE 2014 Vietri sul Mare, Italy, May 14–15 Revised Selected Papers, pp. 86–98 (2014)

  17. Alba, E., Almeida, F., Blesa, M., Cabeza, J., Cotta, C., Díaz, M., Dorta, I., Gabarró, J., León, C., Luna, J., Moreno, L., Pablos, C., Petit, J., Rojas, A., Xhafa, F.: MALLBA: A library of skeletons for combinatorial optimisation. In: Monien, B., Feldmann, R. (eds.) Proceedings of the 8th International Euro-Par Conference on Parallel Processing, Volume 2400 of Lecture Notes in Computer Science, pp. 927–932. Springer, Berlin (2002)

  18. García-Nieto, J., Jourdan, L., Talbi, E.-G.: A Comparison of PSO and GA approaches for gene selection and classification of microarray data. In: Proceedings of the 9th Annual Conference on Genetic and Evolutionary Computation (GECCO ’07), p. 427, New York, NY, USA. ACM (2007)

  19. Alba, E., Luque, G., Nieto, J.G., Ordonez, G., Leguizamon, G.: MALLBA: a software library to design efficient optimisation algorithms. Int. J. Innov. Comput. Appl. 1(1), 74–85 (2007)

    Article  Google Scholar 

  20. Zhou, Y., Tan, Y.: GPU-based parallel particle swarm optimization. In: Proceedings of the IEEE Congress on Evolutionary Computation (CEC ’09), pp. 1493–1500. IEEE (2009)

  21. Steuwer, M.: Improving programmability and performance portability on many-core processors. Ph.D. thesis, University of Münster (2015)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Fabian Wrede.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Wrede, F., Menezes, B. & Kuchen, H. Fish School Search with Algorithmic Skeletons. Int J Parallel Prog 47, 234–252 (2019). https://doi.org/10.1007/s10766-018-0564-z

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10766-018-0564-z

Keywords

Navigation