Abstract
Nowadays, most users own multicore computers, but it is not simple to take advantage of them to speedup the execution of programs. In particular, it is not easy to provide a parallel implementation of a concrete genetic algorithm. In this paper we introduce a parallel skeleton that given a sequential implementation automatically provides a corresponding parallel implementation of it. In order to do it, we use a parallel functional language where skeletons can be defined as higher-order functions. Thus, the parallelizing machinery is defined only once, and it is reused for any concrete application of the skeleton to a concrete problem.
Research partially supported by projects TIN2009-14312-C02-01, TIN2009-14599-C03-01, S2009/TIC-1465, and UCM-BSCH GR58/08 - group number 910606.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Chiong, R. (ed.): Nature-Inspired Algorithms for Optimisation. SCI, vol. 193. Springer, Heidelberg (2009)
Cole, M.: Bringing skeletons out of the closet: A pragmatic manifesto for skeletal parallel programming. Parallel Computing 30, 389–406 (2004)
de Jong, K.: Evolutionary computation: a unified approach. In: Genetic and Evolutionary Computation Conference, GECCO 2008, pp. 2245–2258. ACM, New York (2008)
Eiben, A.E., Smith, J.E.: Introduction to Evolutionary Computing. Springer, Heidelberg (2003)
Goldberg, D.E.: Genetic Algorithms in Search, Optimisation and Machine Learning. Addison-Wesley, Reading (1989)
Hidalgo-Herrero, M., Ortega-Mallén, Y.: Continuation Semantics for Parallel Haskell Dialects. In: Ohori, A. (ed.) APLAS 2003. LNCS, vol. 2895, pp. 303–321. Springer, Heidelberg (2003)
Hidalgo-Herrero, M., Ortega-Mallén, Y., Rubio, F.: Analyzing the influence of mixed evaluation on the performance of Eden skeletons. Parallel Computing 32(7-8), 523–538 (2006)
Keller, G., Chakravarty, M.T., Leshchinskiy, R., Peyton Jones, S.L., Lippmeier, B.: Regular, shape-polymorphic, parallel arrays in Haskell. In: International Conference on Functional Programming, ICFP 2010, pp. 261–272. ACM, New York (2010)
Klusik, U., Loogen, R., Priebe, S., Rubio, F.: Implementation skeletons in Eden: Low-effort parallel programming. In: Mohnen, M., Koopman, P. (eds.) IFL 2000. LNCS, vol. 2011, pp. 71–88. Springer, Heidelberg (2001)
Loogen, R., Ortega-Mallén, Y., Peña, R., Priebe, S., Rubio, F.: Parallelism abstractions in Eden. In: Rabhi, F.A., Gorlatch, S. (eds.) Patterns and Skeletons for Parallel and Distributed Computing, pp. 95–128. Springer, Heidelberg (2002)
Marlow, S., Peyton Jones, S.L., Singh, S.: Runtime support for multicore Haskell. In: International Conference on Functional Programming, ICFP 2009, pp. 65–78. ACM Press, New York (2009)
Peyton Jones, S.L., Hughes, J.: Report on the programming language Haskell 98. Technical report (February 1999), http://www.haskell.org
Scaife, N., Horiguchi, S., Michaelson, G., Bristow, P.: A parallel SML compiler based on algorithmic skeletons. Journal of Functional Programming 15(4), 615–650 (2005)
Trinder, P.W., Hammond, K., Mattson Jr., J.S., Partridge, A.S., Peyton Jones, S.L.: GUM: a portable parallel implementation of Haskell. In: Programming Language Design and Implementation, PLDI 1996, pp. 79–88. ACM Press, New York (1996)
Trinder, P.W., Hammond, K., Loidl, H.-W., Peyton Jones, S.L.: Algorithm + Strategy = Parallelism. Journal of Functional Programming 8(1), 23–60 (1998)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
de la Encina, A., Hidalgo-Herrero, M., Rabanal, P., Rubio, F. (2011). A Parallel Skeleton for Genetic Algorithms. In: Cabestany, J., Rojas, I., Joya, G. (eds) Advances in Computational Intelligence. IWANN 2011. Lecture Notes in Computer Science, vol 6692. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-21498-1_49
Download citation
DOI: https://doi.org/10.1007/978-3-642-21498-1_49
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-21497-4
Online ISBN: 978-3-642-21498-1
eBook Packages: Computer ScienceComputer Science (R0)