+ All Categories
Home > Technology > Is there a free lunch for cloud-based evolutionary algorithms?

Is there a free lunch for cloud-based evolutionary algorithms?

Date post: 30-Jul-2015
Category:
Upload: mario-garcia-valdez
View: 538 times
Download: 0 times
Share this document with a friend
Popular Tags:
85
Is there a free lunch for cloud-based evolutionary algorithms? Mario García-Valdez, Alejandra Mancilla and Leonardo Trujillo Inst. Tec. de Tijuana, México Juan-J. Merelo University of Granada, Spain 2013 IEEE Congress on Evolutionary Computation Cancún, México June 20-23, 2013 Francisco Fernández-de-Vega Universidad de Extremadura, Spain 1 1
Transcript

1. Is there a free lunch for cloud-based evolutionary algorithms? Mario Garca-Valdez, Alejandra Mancilla and Leonardo Trujillo Inst. Tec. de Tijuana, Mxico Juan-J. Merelo University of Granada, Spain 2013 IEEE Congress on Evolutionary Computation Cancn, Mxico June 20-23, 2013 Francisco Fernndez-de-Vega Universidad de Extremadura, Spain 1 1 2. Are you hungry? 2 How much computing power do you need? 2 3. 3data center 3 4. 4 When youre done, do you share? 4 5. The Network is the Computer JohnGage,SunMicrosystems 5 5 6. 6 6 7. 7 7 8. 8 8 9. 9 9 10. 9 9 11. 9 9 12. 9 9 13. 9 9 14. Recentlytherehasbeenseveraleortstoexploit thecomputingresourcesavailableintheInternet forEvolutionaryComputation(EC)research. 10 10 15. Volunteer Computing 11 11 16. Userssharetheircomputingresources Throughdownloadedsoftware: N.Coleetal.Evolutionaryalgorithmsonvolunteer computingplatforms 12 12 17. Throughtheirbrowsers: J.Mereloetal.Asynchronousdistributedgenetic algorithmswithJavascriptandJSON, Userssharetheircomputingresources 13 13 18. Cloud Computing Someservicessharetheircomputingresources. DiMartinoetal.usestheGoogleAppEngineplatform toimplementanislandmodelGeneticAlgorithm. Garcia-Arenasetal.usedDropboxasacloud-based storageserverforapool-basedEA 14 14 19. Cloud Computing Someresearchiscurrentlyorientedtowardsthe developmentofcloudbasedEAsandlibraries. Tulum Clouds 15 15 20. Pool Based A-Teamssystem(S.Talukdaretal.) AdistributedpoolarchitectureforGAs(Royetal.) SOFEA(Mereloetal.) EvoSpace(Garcaetal.) Map-Reduce FlexGP(Sherryetal.) EAsusingMap/Reduce(Fazendaetal.) 16 16 21. Inthispaperwepresentadistributedevolutionary algorithmusingexclusivelylow-costcloudservices. EvoSpaceistestedusingthe freetieroftwoservices(one forthepoolandotherforthe clients)andalsothepaying tier,andspeedupismeasured anditslimitsassessed. 17 17 22. EvoSpace 1.TheEvoSpacecontainerthatstoresthe evolvingpopulation. 2.RemoteclientscalledEvoWorkers,which executetheactualevolutionaryprocess. EvoSpaceconsistsoftwomaincomponents: 18 18 23. evospace evospace read(n) get_sample(n) re_insert(i) insert(A) put_back(A,i) remove(A) 19 19 24. evospace.get_sample(n) 20 20 25. evoWorker 2 evospace evoWorker 1 21 21 26. evoWorker 2 evospace get_Sample(5) evoWorker 1 21 21 27. evoWorker 2 evospace evoWorker 1 21 21 28. evoWorker 2 evospace evoWorker 1 phantom 21 21 29. evoWorker 2 evospace evoWorker 1 21 21 30. evoWorker 2 evospace evoWorker 1 get_Sample(3) 21 21 31. evoWorker 2 evospace evoWorker 1 get_Sample(3) 21 21 32. evoWorker 2 evospace evoWorker 1 21 21 33. worker1.evolve(n) 22 22 34. evospace evoWorker 2 evoWorker 1 23 23 35. evospace evolve(50) evoWorker 2 evoWorker 1 23 23 36. evospace evoWorker 2 evoWorker 1 23 23 37. evospace.put_back(samplei) 24 24 38. evospace evoWorker 2 evoWorker 1 25 25 39. evospace put_back(s1) evoWorker 2 evoWorker 1 25 25 40. evospace evoWorker 2 evoWorker 1 25 25 41. evospace evoWorker 2 evoWorker 1 25 25 42. evospace phantoms from s1 are deleted evoWorker 2 evoWorker 1 25 25 43. evospace phantoms from s1 are deleted evoWorker 2 evoWorker 1 25 25 44. evospace evoWorker 2 evoWorker 1 25 25 45. evospace.re_insert(samplei) 26 26 46. evospace evoWorker 2 evoWorker 1 27 27 47. evospace evoWorker 2 evoWorker 1 27 27 48. evospace re_insert( ) evoWorker 2 evoWorker 1 27 27 49. evospace re_insert( ) evoWorker 2 evoWorker 1 27 27 50. evospace evoWorker 2 evoWorker 1 27 27 51. evospace.read_sample(n) 28 28 52. evospace evoWorker 2 evoWorker 1 29 29 53. evospace read_Sample(5) evoWorker 2 evoWorker 1 29 29 54. evospace evoWorker 2 evoWorker 1 29 29 55. evospace read_Sample(3) evoWorker 2 evoWorker 1 29 29 56. evospace read_Sample(3) evoWorker 2 evoWorker 1 29 29 57. EvoSpace 30 30 58. Implementation Redis evospace.py cherrypy javascript Python c# Objective-C Others json-rpc application-server redis-server process python 31 31 59. Implementation Redis evospace.py cherrypy javascript Python c# Objective-C Others json-rpc application-server redis-server process python core 31 31 60. Implementation Redis evospace.py cherrypy javascript Python c# Objective-C Others json-rpc application-server redis-server process python 31 31 61. Advancedkey-valuestore Keyscancontainstrings,hashes,lists,sets, sortedsets. In-memorybutpersistentondisk database. Singlethreaded. Master-slavereplication. 32 32 62. EcientimplementationofSetoperations neededforevospace: Add,remove,andtestforexistenceof membersinO(1). Returningandremovingarandommember fromasetisalsoO(1). 33 33 63. EachindividualisauniquekeyandaJSON objectstring. ind:123->{chromosome:[0,1,0,1],tness:0.2} APopulationisasetofkeys. pop:1->{ind:123,ind:124,ind:13,ind:132} Samplesarealsosets. Re-Insertionisaunionofsets. 34 34 64. EvoSpace Use Case CanbeusedinInteractiveEvolution Algorithms: Remote Clients EvoWorker EvoSpace Re-Insertion Manager Server Get Sample1 Feed to Processing Script 2User evaluates Representations 3 Put Sample Back 4 After n evaluations Evolve a sample 5 35 35 65. Implementation Redis evospace.py cherrypy javascript Python c# Objective-C Others json-rpc application-server redis-server process python 36 36 66. Implementation Redis evospace.py cherrypy javascript Python c# Objective-C Others json-rpc application-server redis-server process python evoWorkers 36 36 67. evoWorkers 1.Localprocesses. 2.Html-5WebWorkersinFireFoxBrowsers. 3.ProcessesinVirtualMachines. FirstimplementationsofEvoWorkers 37 37 68. EvoSpace BasedonTupleSpaces. SimpleModel. Inherentload-balancingmechanism. Providesmutualexclusion. Scalable. Variablepopulationsize. 38 38 69. EvoSpace Cloud Architecture 39 39 70. Heroku Herokuisamulti-languagePaaS,supportingamongothers Ruby,PythonandJavaapplications. ThebasicunitofcompositiononHerokuisaDyno,a lightweightcontainerrunningasingleuser-speciedprocess. Theseprocesstypesaretheprototypesfromwhichoneor moredynoscanbeinstantiated. Redis Add-On cherryPy Service 40 40 71. Heroku Herokuisamulti-languagePaaS,supportingamongothers Ruby,PythonandJavaapplications. ThebasicunitofcompositiononHerokuisaDyno,a lightweightcontainerrunningasingleuser-speciedprocess. Theseprocesstypesaretheprototypesfromwhichoneor moredynoscanbeinstantiated. Redis Add-On cherryPy Service cherryPy Service 40 40 72. Heroku Herokuisamulti-languagePaaS,supportingamongothers Ruby,PythonandJavaapplications. ThebasicunitofcompositiononHerokuisaDyno,a lightweightcontainerrunningasingleuser-speciedprocess. Theseprocesstypesaretheprototypesfromwhichoneor moredynoscanbeinstantiated. Redis Add-On cherryPy Service cherryPy Service cherryPy Service 40 40 73. PiCloud PiCloudisaplatformspecializedinhigh performanceandscienticcomputing. PiCloudisaPaaS,withdeepPythonintegration. Pythonfunctionsaretransparentlyuploadedto PiCLoudsserversasunitsofcomputationalwork theycalljobs. 41 41 74. PiCloud Jobs Standard:Jobsarealwaysaddedtoaqueue;the timetheyremainonqueuedependsonavailable resources. Real-Time:Canbereserved(forafee)forcertain amountoftime,whenreserved,coresare availableimmediately. 42 42 75. Is there a free lunch? Limitedbythreebudgets:$0.00,$10.00,$20.00 FreeOptions: Herokugives750Dynohourseachmonth. Picloudgivesforfree20Computehoursamonth. Notes: HerokurequirescreditcardvericationforAdd-Ons. PiCloudrequiresareservationfeeforRealTimecores. 43 43 76. 44 44 77. 45 45 78. 46 46 79. KennedyandSpearsproposedP=100N=100asa dicultconguration. Albaetal.[21]consideredaninstancewithgreater dicultywithP=512andN=512. InthispaperP=256peaksandN=512bitsareused. Multimodal Problem Generator P-Peaks 47 47 80. 48 48 81. Population:512SampleSize:16 2:4804:4488:38416:25628:64 49 49 82. 50 50 83. Conclusions PaaScanoeratransparentintegrationwithcurrent tools. Pool-BasedEAscanbeeasilydeployed. Cloud-Basedalternativescanreducecomputational costsofdemandingEAs. 51 51 84. EvoSpace in Cloud Starvationorreductionofpopulationsizecan beaproblem. Wehavetoadjustpopulationsizedependingon thenumberofworkers. Canbedoneautomaticallywithaworker. Conclusions 52 52 85. Thank You Pleasevisitwww.evospace.orgformore information. Allcode,data,matplotlibscripts,latexleswith authorsoriginalcommentsandedits(in spanish)availablein: https://github.com/mariosky/cec2013 53 53


Recommended