Natural Computing

, Volume 12, Issue 2, pp 163–177 | Cite as

Customizable execution environments for evolutionary computation using BOINC + virtualization

  • Francisco Fernández de Vega
  • Gustavo Olague
  • Leonardo TrujilloEmail author
  • Daniel Lombraña González


Evolutionary algorithms (EAs) consume large amounts of computational resources, particularly when they are used to solve real-world problems that require complex fitness evaluations. Beside the lack of resources, scientists face another problem: the absence of the required expertise to adapt applications for parallel and distributed computing models. Moreover, the computing power of PCs is frequently underused at institutions, as desktops are usually devoted to administrative tasks. Therefore, the proposal in this work consists of providing a framework that allows researchers to massively deploy EA experiments by exploiting the computing power of their instituions’ PCs by setting up a Desktop Grid System based on the BOINC middleware. This paper presents a new model for running unmodified applications within BOINC with a web-based centralized management system for available resources. Thanks to this proposal, researchers can run scientific applications without modifying the application’s source code, and at the same time manage thousands of computers from a single web page. Summarizing, this model allows the creation of on-demand customized execution environments within BOINC that can be used to harness unused computational resources for complex computational experiments, such as EAs. To show the performance of this model, a real-world application of Genetic Programming was used and tested through a centrally-managed desktop grid infrastructure. Results show the feasibility of the approach that has allowed researchers to generate new solutions by means of an easy to use and manage distributed system.


Boinc Virtualization Desktop grid systems Evolutionary algorithms 



This research was funded by the Spanish Ministry of Science and Innovation under project ANYSELF (TIN2011-28627-C04), FEDER and Gobierno de Extremadura project GR10029, and IdenTIC. Additional funding was also provided by CONACyT, México, through Project 155045—“Evolución de Cerebros Artificiales en Visión por Computadora”. Finally, thanks are given to the support provided by the Departamento en Ingeniería Eléctrica y Electrónica from the Instituto Tecnológico de Tijuana.


  1. Allen M (1999) Do it yourself climate prediction. Nature 401(6754):642–642CrossRefGoogle Scholar
  2. Anderson D (2004) Boinc: a system for public-resource computing and storage. In: Proceedings of the fifth IEEE/ACM international workshop on grid computing, pp 4–10Google Scholar
  3. Anderson DP, Cobb J, Korpela E, Lebofsky M, Werthimer D (2002) Seti@home: an experiment in public-resource computing. Commun ACM 45(11):56–61CrossRefGoogle Scholar
  4. Arenas M, Collet P, Eiben A, Jelasity M, Merelo J, Paechter B, Preuß M, Schoenauer M (2003) A framework for distributed evolutionary algorithms. Lecture Notes in Computer Science, pp 665–675Google Scholar
  5. Asanovic K, Bodik R, Demmel J, Keaveny T, Keutzer K, Kubiatowicz J, Morgan N, Patterson D, Sen K, Wawrzynek J, Wessel D, Yelick K (2009) A view of the parallel computing landscape. Commun ACM 52(10):56–67CrossRefGoogle Scholar
  6. Barham P, Dragovic B, Fraser K, Hand S, Harris T, Ho A, Neugebauer R, Pratt I, Warfield A (2003) Xen and the art of virtualization. Proceedings of the nineteenth ACM symposium on operating systems principles, pp 164–177Google Scholar
  7. Calder B, Chien AA, Wang J, Yang D (2005) The entropia virtual machine for desktop grids. In: VEE ’05: proceedings of the 1st ACM/USENIX international conference on virtual execution environments, pp 186–196Google Scholar
  8. Chavez F, Guisado JL, Lombrana D, Fernández F (2007) Una herramienta de programacion genética paralela que aprovecha recursos publicos de computacion. In: MAEB’2007, V Congreso Espa nol sobre Metaheurísticas, Algoritmos Evolutivos y Bioinspirados, Puerto de la Cruz, SpainGoogle Scholar
  9. Chien A, Calder B, Elbert S, Bhatia K (2003) Entropia: architecture and performance of an enterprise desktop grid system. J Parallel Distrib Comput 63:597–610CrossRefGoogle Scholar
  10. Contreras I, Jiang Y, Hidalgo JI, Núñez-Letamendia L (2012) Using a gpu-cpu architecture to speed up a ga-based real-time system for trading the stock market. Soft Comput 16(2):203–215CrossRefGoogle Scholar
  11. Costa F, Silva L, Kelley I, Fedak G (2008) Optimizing the data distribution layer of boinc with bittorrent. 2008 IEEE international symposium on parallel and distributed processing, 2008 IPDPS, pp 1–8Google Scholar
  12. De Jong K (2001) Evolutionary computation: a unified approach. The MIT PressGoogle Scholar
  13. Desell T, Anderson DP, Magdon-Ismail M, Newberg H, Szymanski B, Varela CA (2010) An analysis of massively distributed evolutionary algorithms. In: Proceedings of the 2010 international conference on evolutionary computation (IEEE CEC 2010), Barcelona, Spain, pp 1–8Google Scholar
  14. Elnozahy E, Alvisi L, Wang Y, Johnson D (2002) A survey of rollback-recovery protocols in message-passing systems. ACM Comput Surv (CSUR) 34(3):375–408CrossRefGoogle Scholar
  15. Fedak G, Germain C, Neri V, Cappello F (2001) XtremWeb: a generic global computing system. Proceedings of the IEEE international symposium on cluster computing and the grid (CCGRID’01)Google Scholar
  16. Fernández F, Sanchez JM, Tomassini M, Gomez JA (1999) A parallel genetic programming tool based on PVM. In: Dongarra J, Luque E, Margalef T (eds) Lecture Notes in Computer Science, vol 1697, pp 241–248Google Scholar
  17. Fernández F, Tomassini M, Vanneschi L, Bucher L (2000) A distributed computing environment for genetic programming using MPI. In: Dongarra JJ, Kacsuk P, Podhorszki N (eds) Lecture Notes in Computer Science, vol 1908, pp 322–329Google Scholar
  18. Fernández F, Tomassini M, Vanneschi L (2003) An empirical study of multipopulation genetic programming. Genet Progr Evol Mach 4(1):21–51zbMATHCrossRefGoogle Scholar
  19. Figueiredo R, Dinda P, Fortes J (2003) A case for grid computing on virtual machines. In: International conference on distributed computing systems, IEEE Computer Society; 1999, vol 23, pp 550–559Google Scholar
  20. Habib I (2008) Virtualization with kvm. Linux J 2008(166):8Google Scholar
  21. Holland JH (1975) Adaptation in natural and artificial systems. University of Michigan Press, Ann ArborGoogle Scholar
  22. Kesselman C, Foster I (1999) The grid: blueprint for a new computing infrastructure. Morgan KaufmannGoogle Scholar
  23. Kondo D, Fedak G, Cappello F, Chien AA, Casanova H (2007) Characterizing resource availability in enterprise desktop grids. Future Gener Comput Syst 23(7):888–903CrossRefGoogle Scholar
  24. Koza JR (1992) Genetic programming: on the programming of computers by means of natural selection. MIT Press, CambridgezbMATHGoogle Scholar
  25. Krasner G, Pope S (1988) A description of the model-view-controller user interface paradigm in the smalltalk-80 system. J Object Oriented Progr 1(3):26–49Google Scholar
  26. Laredo JLJ, González DLn, De Vega FF, Arenas MG, Guervós JJM (2011) A peer-to-peer approach to genetic programming. In: Proceedings of the 14th European conference on Genetic programming, EuroGP’11, pp 108–117Google Scholar
  27. Lombraña D, Fernández F, Segal B, Grey F (2007a) Enabling desktop pcs with virtualization for grid computing. In: 1st Ibergrid 2007, Santiago de Compostela, Spain, vol 1, pp 160–171Google Scholar
  28. Lombraña D, Fernández F, Trujillo L, Olague G, Segal B (2007b) Customizable execution environments with virtual desktop grid computing. In: 19th parallel and distributed computing and systems, PDCS, Massachusets, USA, vol 1, pp 7–12Google Scholar
  29. Litzkow M, Tannenbaum T, Basney J, Livny M (1997) Checkpoint and migration of unix processes in the condor distributed processing system. Tech. rep., University of WisconsinGoogle Scholar
  30. Melab N, Cahon S, Talbi E-G (2006) Grid computing for parallel bioinspired algorithms. J. Parallel Distrib Comput 66(8):1052–1061zbMATHCrossRefGoogle Scholar
  31. Merelo Guervós JJ, Castillo PA, Alba E (2010) Algorithm: evolutionary, a flexible perl module for evolutionary computation. Soft Comput 14(10):1091–1109CrossRefGoogle Scholar
  32. Nebro AJ, Luque G, Luna F, Alba E (2008) DNA fragment assembly using a grid-based genetic algorithm. Compu OR 35(9):2776–2790zbMATHCrossRefGoogle Scholar
  33. Nieh J, Leonard OC (2000) Examining VMware. j-DDJ 25(8):70, 72–74, 76Google Scholar
  34. Olague G, Trujillo L (2011) Evolutionary-computer-assisted design of image operators that detect interest points using genetic programming. Image Vision Comput 29(7):484–498CrossRefGoogle Scholar
  35. Owens JD, Luebke D, Govindaraju N, Harris M, Krüger J, Lefohn AE, Purcell TJ (2007) A survey of general-purpose computation on graphics hardware. Comput Graph Forum 26(1):80–113CrossRefGoogle Scholar
  36. Poli R, Langdon WB, Clerc M, Stephens CR (2007) Continuous optimisation theory made easy? Finite-element models of evolutionary strategies, genetic algorithms and particle swarm optimizers. In: Proceedings of the 9th international conference on foundations of genetic algorithms, FOGA’07, pp 165–193Google Scholar
  37. Pressman R (2004) Software engineering: a practitioner’s approach, 6th edn. McGraw-HillGoogle Scholar
  38. Santhanam S, Elango P, Arpaci-Dusseau A, Livny M (2005) Deploying virtual machines as sandboxes for the grid. In: Second workshop on real, large distributed systems (WORLDS 2005), San Francisco, CAGoogle Scholar
  39. Squyres JM (2005) The spawn of MPI. ClusterWorld Magazine, MPI Mechanic Column 3(2):40–43Google Scholar
  40. Sugerman J, Venkitachalam G, Lim B (2001) Virtualizing i/o devices on vmware workstation’s hosted virtual machine monitor. Proceedings of the 2001 USENIX annual technical conference. Boston, Massachusetts, 15 pp, June 25th–30th, USAGoogle Scholar
  41. Trujillo L, Olague G (2008) Automated design of image operators that detect interest points. Evol Comput 16(4):483–507CrossRefGoogle Scholar
  42. Vahid Khatibi DNAJ (2010) Software cost estimation methods: a review. J Emerg Trends Comput Inform Sci 2(1):21–29Google Scholar
  43. Watson J (2008) Virtualbox: bits and bytes masquerading as machines. Linux J 2008(166):1Google Scholar

Copyright information

© Springer Science+Business Media B.V. 2012

Authors and Affiliations

  • Francisco Fernández de Vega
    • 1
  • Gustavo Olague
    • 2
  • Leonardo Trujillo
    • 3
    Email author
  • Daniel Lombraña González
    • 4
  1. 1.University of ExtremaduraMérida, BadajozSpain
  2. 2.EvoVision Project, Computer Science DepartmentCentro de Investigación Científica y de Educación Superior de EnsenadaEnsenada, BC México
  3. 3.Doctorado en Ciencias de la Ingeniería, Departamento de Ingeniería Eléctrica y ElectrónicaInstituto Tecnológico de TijuanaTijuanaMéxico
  4. 4.Citizen Cyberscience CentreCERNGenevaSwitzerland

Personalised recommendations