Skip to main content

Advertisement

Log in

Customizable execution environments for evolutionary computation using BOINC + virtualization

  • Published:
Natural Computing Aims and scope Submit manuscript

Abstract

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.

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

Similar content being viewed by others

Notes

  1. http://www.mersenne.org.

  2. Boincvm (2010) BoincVM Volunteer Cloud Computing Platform. http://code.google.com/p/boincvm/.

  3. Saving the state of a virtual machine is like hibernating a PC.

  4. http://boinc.berkeley.edu/trac/wiki/WebRpc.

  5. Foundation FS (2009) Gnu affero general public license. http://www.fsf.org/licensing/licenses/agpl-3.0.html.

  6. The w3c markup validation service. http://validator.w3.org/.

  7. Extremadurathomeorg (2010) http://www.extremadurathome.org.

  8. These data can be consulted on-line and in real time in the following URL http://boincstats.com and http://extremadurathome.org.

References

  • Allen M (1999) Do it yourself climate prediction. Nature 401(6754):642–642

    Article  Google Scholar 

  • 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–10

  • Anderson DP, Cobb J, Korpela E, Lebofsky M, Werthimer D (2002) Seti@home: an experiment in public-resource computing. Commun ACM 45(11):56–61

    Article  Google Scholar 

  • 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–675

  • 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–67

    Article  Google Scholar 

  • 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–177

  • 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–196

  • 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, Spain

  • 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–610

    Article  Google Scholar 

  • 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–215

    Article  Google Scholar 

  • 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–8

  • De Jong K (2001) Evolutionary computation: a unified approach. The MIT Press

  • 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–8

  • 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–408

    Article  Google Scholar 

  • 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)

  • 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–248

  • 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–329

  • Fernández F, Tomassini M, Vanneschi L (2003) An empirical study of multipopulation genetic programming. Genet Progr Evol Mach 4(1):21–51

    Article  MATH  Google Scholar 

  • 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–559

  • Habib I (2008) Virtualization with kvm. Linux J 2008(166):8

    Google Scholar 

  • Holland JH (1975) Adaptation in natural and artificial systems. University of Michigan Press, Ann Arbor

    Google Scholar 

  • Kesselman C, Foster I (1999) The grid: blueprint for a new computing infrastructure. Morgan Kaufmann

  • 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–903

    Article  Google Scholar 

  • Koza JR (1992) Genetic programming: on the programming of computers by means of natural selection. MIT Press, Cambridge

    MATH  Google Scholar 

  • 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–49

    Google Scholar 

  • 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–117

  • 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–171

  • 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–12

  • 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 Wisconsin

  • Melab N, Cahon S, Talbi E-G (2006) Grid computing for parallel bioinspired algorithms. J. Parallel Distrib Comput 66(8):1052–1061

    Article  MATH  Google Scholar 

  • Merelo Guervós JJ, Castillo PA, Alba E (2010) Algorithm: evolutionary, a flexible perl module for evolutionary computation. Soft Comput 14(10):1091–1109

    Article  Google Scholar 

  • Nebro AJ, Luque G, Luna F, Alba E (2008) DNA fragment assembly using a grid-based genetic algorithm. Compu OR 35(9):2776–2790

    Article  MATH  Google Scholar 

  • Nieh J, Leonard OC (2000) Examining VMware. j-DDJ 25(8):70, 72–74, 76

    Google Scholar 

  • 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–498

    Article  Google Scholar 

  • 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–113

    Article  Google Scholar 

  • 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–193

  • Pressman R (2004) Software engineering: a practitioner’s approach, 6th edn. McGraw-Hill

  • 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, CA

  • Squyres JM (2005) The spawn of MPI. ClusterWorld Magazine, MPI Mechanic Column 3(2):40–43

    Google Scholar 

  • 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, USA

  • Trujillo L, Olague G (2008) Automated design of image operators that detect interest points. Evol Comput 16(4):483–507

    Article  Google Scholar 

  • Vahid Khatibi DNAJ (2010) Software cost estimation methods: a review. J Emerg Trends Comput Inform Sci 2(1):21–29

    Google Scholar 

  • Watson J (2008) Virtualbox: bits and bytes masquerading as machines. Linux J 2008(166):1

    Google Scholar 

Download references

Acknowledgements

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.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Leonardo Trujillo.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Fernández de Vega, F., Olague, G., Trujillo, L. et al. Customizable execution environments for evolutionary computation using BOINC + virtualization. Nat Comput 12, 163–177 (2013). https://doi.org/10.1007/s11047-012-9343-8

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11047-012-9343-8

Keywords

Navigation