from analyzing the tuberculosis genome to modeling the milky way galaxy using volunteer computing...

Download From Analyzing the Tuberculosis Genome to Modeling the Milky Way Galaxy Using Volunteer Computing for Computational Science Travis Desell Department of

If you can't read please download the document

Upload: erik-shelton

Post on 28-Dec-2015

212 views

Category:

Documents


0 download

TRANSCRIPT

  • From Analyzing the Tuberculosis Genome to Modeling the Milky Way Galaxy

    Using Volunteer Computing for Computational ScienceTravis DesellDepartment of Computer Science, Rensselaer Polytechnic InstituteNovember 29, 2010University of North Dakota

  • 1. Computational ScienceMilkyWay@HomeDNA@Home

    2. A Case for Asynchronous Computing

    3. Asynchronous OptimizationEvolutionary AlgorithmsAsynchronous EAsSimulationVerification

    4. Questions?

  • The Sagittarius Dwarf Tidal StreamImage (above): [Ibata et al. 1997, AJ]Image (below): David Martinez-Delgado (MPIA) & Gabriel Perez (IAC) The Sagittarius Dwarf Galaxy is merging with the Milky Way The dwarf is being tidally disrupted by the Milky Way, creating long tails. Provide information on matter distribution in Milky Way Provide constraints on Galactic HaloMapping the Tidal Stream will:

  • Image: sdss.org 230+ million objects 8,400 square degrees in the sky Large percentage of north galactic cap Very little data in galactic plane (too much dust) Several hundred thousand starsSLOAN Digital Sky Survey

  • The Milky WayImage:Matthew Newby

  • Sagittarius Stream Model Assume stream is a cylinder Radial drop-off given by a Gaussian Distribution 2 background parameters (new model has 4):r0, q 6 parameters per stream:, , r, , , A single stream with the old model has an 8 dimensional search space Often fit multiple streams for search spaces with more than 20 dimensions!Background distribution:

  • Nathan Cole, Heidi Newberg, Malik Magdon-Ismail, Travis Desell, Kristopher Dawsey, Warren Hayashi, Jonathan Purnell, Boleslaw Szymanski, Carlos A. Varela, Benjamin Willett, and James Wisniewski. Maximum Likelihood Fitting of Tidal Streams with Application to the Sagittarius Dwarf Tidal Tails. Astrophysical Journal, 683:750-766, 2008.Nathan Cole. Maximum Likelihood Fitting of Tidal Streams with Application to the Sagittarius Dwarf Tidal Tails. PhD thesis. Rensselaer Polytechnic Institute. 2009.Further Reading

  • N-Body SimulationDensity of stars along the Orphan StreamCan we simulate the formation of tidal streams?

  • N-Body SimulationDensity of stars can be simulated with N-body simulations, and fitness to real data can be optimized to determine Orphan Stream progenitor parameters (mass, size, evolution time)

  • Travis Desell, Benjamin Willett, Matthew Arsenault, Heidi Newberg, Malik Magdon-Ismail, Boleslaw Szymanski, Carlos A. Varela. Evolving N-Body Simulations to Determine the Origin and Structure of the Milk Way Galaxy's Halo using Volunteer Computing. International Parallel and Distributed Processing Symposium (IPDPS) 2011. To appear (hopefully).Further Reading

  • DNA@HomeFind protein binding sites using Gibbs samplingUse random walks (Markov chains) which result in sites distributed according to their actual probability of being the correct binding siteInitial sequences:Mycobacterium tuberculosisYersinia pestis (cause of the Bubonic plague)

  • What is a Binding Site?Alberts, Johnson, Lewis, Raff, Roberts, & Walter, Molecular Biology of the Cell 4th Edition, 2002Binding sites are squences of DNA before a gene that proteins bind to.Different proteins will cause the gene to either turn on or turn off.

  • Finding Binding SitesBiology is messy -- binding sites are not exact sequences.Multiple species with the same genes will have similar binding sites.We need to find motifs which have the best probability of matching sequences of DNA across species.

  • Objective - Regulatory CircuitsHoward-Ashby, Materna, Brown, Tu, Oliveri, Cameron, & Davidson, Dev Biol, 2006Turning a gene on causes new proteins to be produced, what binding sites will that activate?Turning a gene off stops production of proteins, which other binding sites will that activate?

  • A Case for Asynchronous Computing

  • SETI@Home Hosts

  • MilkyWay@Home Hosts

  • MilkyWay@Home Statisticsover 25,000 active users (from over 150 countries)over 36,000 active hosts~850 teraflops (has reached 1.6 petaflops):most powerful BOINC projectwas 3rd most powerful computing system (behind Folding@Home and the fastest supercomputer)most of this from GPU computing

  • MilkyWay@Home GPU ApplicationFirst GPU implementation was user-contributed

    Compared to 3.0Ghz AMD Phenom(tm) II X4 940:ATI HD5870 GPU - 109x speedupNVidia GeForce GTX 285 GPU - 17x speedup

    Requires double-precision calculations:NVidia GPUs have less double precision real estateApplication would be 6.2x faster on the ATI GPU, 7.8x faster on the NVidia GPU using single-precision mathTravis Desell, Anthony Waters, Malik Magdon-Ismail, Boleslaw Szymanski, Carlos Varela, Matthew Newby, Heidi Newberg, Andreas Przystawik and Dave Anderson. Accelerating the MilkyWay@Home volunteer computing project with GPUs. In the 8th International Conference on Parallel Processing and Applied Mathematics (PPAM 2009), Wroclaw, Poland, September 2009.

  • Supercomputer Cores by Top 500 Rank (Circa November 2009)Data from http://www.top500.orgRPI CCNI BlueGene/L

  • Architectures are becoming heterogeneous (CPUs, GPUs)

    As hosts/cores increase, so does the chance of errors/failuresA Case for Asynchronous Computing

  • New algorithms need to be efficient, scalable and reliable

    Asynchronous Computing -- minimize synchronization/dependencies between computing hostsA Case for Asynchronous Computing

  • Asynchronous Optimization

  • Take some function:f(p1, p2, ... pn) = ?How can we find p = p1, p2, ... pn such that f is maximized (or minimized)?What is Optimization?

  • Genetic Search: based on evolution, new populations are generated by selection, mutation and recombination (reproduction).

    Particle Swarm Optimization: individuals or particles swarm around the search space, being attracted to the best particle position and their own previously best found position.Differential Evolution: individuals evolve by recombination with other individuals and the differentials between other individuals.Evolutionary Algorithms

  • Further Reading on EA StrategiesTravis Desell. Asynchronous Global Optimization for Massive-Scale Computing. PhD thesis. Rensselaer Polytechnic Institute. 2009Travis Desell, Boleslaw Szymanski, and Carlos A. Varela. An Asynchronous Hybrid Genetic-Simplex Search for Modeling the Milky Way Galaxy using Volunteer Computing. In Genetic and Evolutionary Computation Conference (GECCO 2008), Atlanta, Georgia, pages 921-928, July 2008.Extra slides at the end.

  • An Example

  • Minimum at f(0, ..., 0)

  • Genetic Search Example-5, 2, -2-2, 4, -5-4, -2, 0 2, -1, 0 2, 3, -3population 3, 0, 1 2, -3, 2-5, 0, 4-4, -2, -5 2, 4, 11. Set bounds: -5 to 5 for all parameters2. Create initial population

  • Genetic Search Example-5, 2, -2-2, 4, -5-4, -2, 0 2, -1, 0 2, 3, -3population 3, 0, 1 2, -3, 2-5, 0, 4-4, -2, -5 2, 4, 13. Calculate fitnesses for individuals334520522fitness1017414521

  • Genetic Search Example-5, 2, -2-2, 4, -5-4, -2, 0 2, -1, 0 2, 3, -3population 3, 0, 1 2, -3, 2-5, 0, 4-4, -2, -5 2, 4, 14. Sort the population (only for GS)334520522fitness1017414521

  • Genetic Search Example-5, 2, -2-2, 4, -5-4, -2, 0 2, -1, 0 2, 3, -3population 3, 0, 1 2, -3, 2-5, 0, 4-4, -2, -5 2, 4, 15. Generate new population via heuristics.GS uses Selection, Mutation, Recombination334520522fitness1017414521

  • Genetic Search Example-5, 2, -2-2, 4, -5-4, -2, 0 2, -1, 0 2, 3, -3population 3, 0, 1 2, -3, 2-5, 0, 4-4, -2, -5 2, 4, 1334520522fitness1017414521 2, -1, 0 3, 0, 1new population5. Generate new population via heuristicsGS uses Selection, Mutation, Recombination

  • Genetic Search Example-5, 2, -2-2, 4, -5-4, -2, 0 2, -1, 0 2, 3, -3population 3, 0, 1 2, -3, 2-5, 0, 4-4, -2, -5 2, 4, 1334520522fitness1017414521 2, -1, 0 3, 0, 1new population 2, 4, -35. Generate new population via heuristicsGS uses Selection, Mutation, Recombination

  • Genetic Search Example-5, 2, -2-2, 4, -5-4, -2, 0 2, -1, 0 2, 3, -3population 3, 0, 1 2, -3, 2-5, 0, 4-4, -2, -5 2, 4, 1334520522fitness1017414521 2, -1, 0 3, 0, 1new population 2, 4, -3 1, -1, 05. Generate new population via heuristicsGS uses Selection, Mutation, Recombination

  • Genetic Search Example-5, 2, -2-2, 4, -5-4, -2, 0 2, -1, 0 2, 3, -3population 3, 0, 1 2, -3, 2-5, 0, 4-4, -2, -5 2, 4, 1334520522fitness1017414521 2, -1, 0 3, 0, 1new population 2, 4, -3 1, -1, 0-1, -2, 05. Generate new population via heuristicsGS uses Selection, Mutation, Recombination

  • Genetic Search Example-5, 2, -2-2, 4, -5-4, -2, 0 2, -1, 0 2, 3, -3population 3, 0, 1 2, -3, 2-5, 0, 4-4, -2, -5 2, 4, 1334520522fitness1017414521 2, -1, 0 3, 0, 1new population 2, 4, -3 1, -1, 0-1, -2, 0-1.5, -0.5, 05. Generate new population via heuristicsGS uses Selection, Mutation, Recombination

  • Genetic Search Example-5, 2, -2-2, 4, -5-4, -2, 0 2, -1, 0 2, 3, -3population 3, 0, 1 2, -3, 2-5, 0, 4-4, -2, -5 2, 4, 1334520522fitness1017414521 2, -1, 0 3, 0, 1new population 2, 4, -3 1, -1, 0-1, -2, 0-1.5, -0.5, 0 2, 1.5, 0.55. Generate new population via heuristicsGS uses Selection, Mutation, Recombination

  • Genetic Search Example-5, 2, -2-2, 4, -5-4, -2, 0 2, -1, 0 2, 3, -3population 3, 0, 1 2, -3, 2-5, 0, 4-4, -2, -5 2, 4, 1334520522fitness1017414521 2, -1, 0 3, 0, 1new population 2, 4, -3 1, -1, 0-1, -2, 0-1.5, -0.5, 0 2, 1.5, 0.5-1.5, 0, 2.55. Generate new population via heuristicsGS uses Selection, Mutation, Recombination

  • Genetic Search Example-5, 2, -2-2, 4, -5-4, -2, 0 2, -1, 0 2, 3, -3population 3, 0, 1 2, -3, 2-5, 0, 4-4, -2, -5 2, 4, 1334520522fitness1017414521 2, -1, 0 3, 0, 1new population 2, 4, -3 1, -1, 0-1, -2, 0-1.5, -0.5, 0 2, 1.5, 0.5-1.5, 0, 2.5 2, 1, -1.55. Generate new population via heuristicsGS uses Selection, Mutation, Recombination

  • Genetic Search Example-5, 2, -2-2, 4, -5-4, -2, 0 2, -1, 0 2, 3, -3population 3, 0, 1 2, -3, 2-5, 0, 4-4, -2, -5 2, 4, 1334520522fitness1017414521 2, -1, 0 3, 0, 1new population 2, 4, -3 1, -1, 0-1, -2, 0-1.5, -0.5, 0 2, 1.5, 0.5-1.5, 0, 2.5 2, 1, -1.5-1.5, 3, -0.55. Generate new population via heuristicsGS uses Selection, Mutation, Recombination

  • Genetic Search Example6. Go to step 3 using the new population. 2, -1, 0 3, 0, 1new population 2, 4, -3 1, -1, 0-1, -2, 0-1.5, -0.5, 0 2, 1.5, 0.5-1.5, 0, 2.5 2, 1, -1.5-1.5, 3, -0.5

  • Genetic Search Example3. Calculate fitnesses for individuals6.57.25252.5fitness10298.511.55 2, -1, 0 3, 0, 1new population 2, 4, -3 1, -1, 0-1, -2, 0-1.5, -0.5, 0 2, 1.5, 0.5-1.5, 0, 2.5 2, 1, -1.5-1.5, 3, -0.5

  • Genetic Search Example4. Sort the population5. Generate new population... and so on.6.57.25252.5fitness10298.511.55 2, -1, 0 3, 0, 1new population 2, 4, -3 1, -1, 0-1, -2, 0-1.5, -0.5, 0 2, 1.5, 0.5-1.5, 0, 2.5 2, 1, -1.5-1.5, 3, -0.5

  • Genetic Search Example4. Sort the population5. Generate new population... and so on.6.57.25252.5fitness10298.511.55 2, -1, 0 3, 0, 1new population 2, 4, -3 1, -1, 0-1, -2, 0-1.5, -0.5, 0 2, 1.5, 0.5-1.5, 0, 2.5 2, 1, -1.5-1.5, 3, -0.5After one iteration the population has already improved quite a bit

  • Problems with Iterations/Generations????fitness? 2, -1, 0population 1, -1, 0-1, -2, 0-1.5, -0.5, 0 2, 1.5, 0.5A popular parallel computing strategy is to the divide fitness evaluations among worker processors.?? 1, -1, 0-1.5, -0.5, 0worker 1?? 1, -1, 0-1.5, -0.5, 0worker 2? 1, -1, 0worker 3

  • Problems with Iterations????fitness? 2, -1, 0population 1, -1, 0-1, -2, 0-1.5, -0.5, 0 2, 1.5, 0.5Already we have a problem:What if we cant divide the population evenly??? 1, -1, 0-1.5, -0.5, 0worker 1?? 1, -1, 0-1.5, -0.5, 0worker 2? 1, -1, 0worker 3busybusybusyIdle

  • Problems with Iterations????fitness? 2, -1, 0population 1, -1, 0-1, -2, 0-1.5, -0.5, 0 2, 1.5, 0.5What if a host fails??? 1, -1, 0-1.5, -0.5, 0worker 1?? 1, -1, 0-1.5, -0.5, 0worker 2? 1, -1, 0worker 3busybusybusyIdle

  • Problems with Iterations????fitness? 2, -1, 0population 1, -1, 0-1, -2, 0-1.5, -0.5, 0 2, 1.5, 0.5?? 1, -1, 0-1.5, -0.5, 0worker 2 (slow)? 1, -1, 0worker 3busybusybusyIdleIdle?? 1, -1, 0-1.5, -0.5, 0worker 1 (fast)What if the fitness evaluation time is non-deterministic?What if the processors are heterogeneous?

  • Problems with Iterations You always have to wait for the slowest fitness evaluations before you can proceed to the next generation. Failures are worse, you need to be resend and recalculate before you can proceed.

    This can cause a lot of idle time.

    Load balancing can help but it is not perfect, and doesnt handle failures.

  • Asynchronous Optimization StrategyPopulationFitness (1)Fitness (2)Fitness (n)........

    Individual (1)Individual (2)Individual (n)........

    Unevaluated IndividualsUnevaluated Individual (1)Unevaluated Individual (2)Unevaluated Individual (n)........

    Workers (Perform Fitness Evaluation)Report results and update populationRequest WorkSend WorkGenerate individuals when queue is lowAdd new individual in order and remove worst individualSelect parents from population to generate new individual

  • Asynchronous Optimization Examplepopulation1. Generate a random initial population by sending out random parameter sets and waiting for the result.2. Insert initial results in-order.-5, 2, -2-2, 4, -5-4, -2, 0 2, -1, 0 2, 3, -3 3, 0, 1 2, -3, 2-5, 0, 4-4, -2, -5 2, 4, 13345205221017414521

  • Asynchronous Optimization Examplepopulationworker 1-3.5, 2, -0.5?Work RequestRecombination-5, 2, -2-2, 4, -5-4, -2, 0 2, -1, 0 2, 3, -3 3, 0, 1 2, -3, 2-5, 0, 4-4, -2, -5 2, 4, 13345205221017414521If the population is not full, generate a new random individual.If a worker requests work, create a new individual using mutation or recombination (for GS).

  • Asynchronous Optimization ExamplepopulationIf a worker requests work, create a new individual using mutation or recombination (for GS).worker 1?Work Requestworker 2-0.5, -1, -2?Recombination-5, 2, -2-2, 4, -5-4, -2, 0 2, -1, 0 2, 3, -3 3, 0, 1 2, -3, 2-5, 0, 4-4, -2, -5 2, 4, 13345205221017414521-3.5, 2, -0.5

  • Asynchronous Optimization ExamplepopulationIf a worker requests work, create a new individual using mutation or recombination (for GS).worker 1?Work Requestworker 2?worker 3-5, 2, 5?Mutation-5, 2, -2-2, 4, -5-4, -2, 0 2, -1, 0 2, 3, -3 3, 0, 1 2, -3, 2-5, 0, 4-4, -2, -5 2, 4, 13345205221017414521-0.5, -1, -2-3.5, 2, -0.5

  • Asynchronous Optimization ExamplepopulationWhen a worker completes calculating the fitness and reports the result, insert it into the population.worker 1?Report Resultworker 25.25worker 3-5, 2, 5?-5, 2, -2-2, 4, -5-4, -2, 0 2, -1, 0 2, 3, -3 3, 0, 1 2, -3, 2-5, 0, 4-4, -2, -5 2, 4, 13345205221017414521-0.5, -1, -2-3.5, 2, -0.5

  • Asynchronous Optimization Examplepopulationworker 1?Insertworker 25.25worker 3-5, 2, 5?-5, 2, -2-2, 4, -5-4, -2, 0 2, -1, 0 2, 3, -3 3, 0, 1 2, -3, 2-5, 0, 4-4, -2, -5 2, 4, 13345205221017414521-0.5, -1, -2-3.5, 2, -0.5Perform an in-order insert and remove the worst member of the population.Remove

  • Asynchronous Optimization Examplepopulationworker 1?worker 2?worker 3-5, 2, 5?-5, 2, -2-2, 4, -5-4, -2, 0 2, -1, 0 2, 3, -3 3, 0, 1 2, -3, 2-5, 0, 4 2, 4, 133452052210174121?-3.5, 2, -0.5Selection is done by keeping a fixed size population and only inserting results that improve it.5.25-0.5, -1, -2

  • Asynchronous Optimization Examplepopulationworker 1?worker 2?worker 3-5, 2, 5?-5, 2, -2-2, 4, -5-4, -2, 0 2, -1, 0 2, 3, -3 3, 0, 1 2, -3, 2-5, 0, 4 2, 4, 133452052210174121?-3.5, 2, -0.5If a worker fails or leaves we can continue the optimization without stopping.5.25-0.5, -1, -2

  • Asynchronous Optimization Examplepopulationworker 2?worker 3-5, 2, 5?-5, 2, -2-2, 4, -5-4, -2, 0 2, -1, 0 2, 3, -3 3, 0, 1 2, -3, 2-5, 0, 4 2, 4, 133452052210174121?5.25-0.5, -1, -2Workers can join and leave at any time.2, 0, -0.5?Work RequestRecombinationworker 4

  • Asynchronous Optimization Examplepopulationworker 2?worker 3-5, 2, 5?-5, 2, -2-2, 4, -5-4, -2, 0 2, -1, 0 2, 3, -3 3, 0, 1 2, -3, 2-5, 0, 4 2, 4, 133452052210174121?5.25-0.5, -1, -2Workers can join and leave at any time.2, 0, -0.5?Work RequestMutationworker 42, -1, -3?worker 5

  • Asynchronous Optimization Examplepopulationworker 2?worker 3-5, 2, 554-5, 2, -2-2, 4, -5-4, -2, 0 2, -1, 0 2, 3, -3 3, 0, 1 2, -3, 2-5, 0, 4 2, 4, 133452052210174121?5.25-0.5, -1, -2If a reported result will not improve the population, simply discard it (selection).2, 0, -0.5?worker 42, -1, -3?worker 5Report Result

  • Asynchronous Optimization Examplepopulationworker 2?worker 3??-5, 2, -2-2, 4, -5-4, -2, 0 2, -1, 0 2, 3, -3 3, 0, 1 2, -3, 2-5, 0, 4 2, 4, 133452052210174121?5.25-0.5, -1, -2If a reported result will not improve the population, simply discard it (selection).2, 0, -0.5?worker 42, -1, -3?worker 5Discard Result

  • Asynchronous Optimization Examplepopulationworker 2?worker 3??Fast workers do not need to wait for slow workers and the search can continue to progress without them.2, 0, -0.5?worker 42, -1, -3?worker 5Work RequestRecombination0, 1.5, -2.5-5, 2, -2-2, 4, -5-4, -2, 0 2, -1, 0 2, 3, -3 3, 0, 1 2, -3, 2-5, 0, 4 2, 4, 1334520522101741215.25-0.5, -1, -2

  • Asynchronous Optimization Examplepopulationworker 2?worker 38.5?Fast workers do not need to wait for slow workers and the search can continue to progress without them.2, 0, -0.5?worker 42, -1, -3?worker 5Report Result0, 1.5, -2.5-5, 2, -2-2, 4, -5-4, -2, 0 2, -1, 0 2, 3, -3 3, 0, 1 2, -3, 2-5, 0, 4 2, 4, 1334520522101741215.25-0.5, -1, -2

  • Asynchronous Optimization Examplepopulationworker 2?worker 3??Fast workers do not need to wait for slow workers and the search can continue to progress without them.2, 0, -0.5?worker 42, -1, -3?worker 5Insert Result?-5, 2, -2-4, -2, 0 2, -1, 0 2, 3, -3 3, 0, 1 2, -3, 2-5, 0, 4 2, 4, 13320522101741215.25-0.5, -1, -28.50, 1.5, -2.5

  • Asynchronous optimization works in theory, but does it scale?How does it compare to an iterative approach?Asynchronous Optimization

  • Simulating Asynchronous Optimization

  • Simulation ArchitecturePopulationFitness (1)Fitness (2)Fitness (n)...

    Individual (1)Individual (2)Individual (n)...

    Unevaluated IndividualsUnevaluated Individual (1)Unevaluated Individual (2)Unevaluated Individual (n)...

    Workers (Fitness Evaluation)Report results and update populationRequest WorkSend WorkGenerate individuals when queue is lowMin Heap (Report Times)Remove result with minimum time and reportGenerate report time and insert into heapRequest new work for each reported individualInitialize heap with results equal to number of workers1535208452136701820310519715

  • Test Functions

  • Courtsey of http://www-optima.amp.i.kyoto-u.ac.jp/member/student/hedar/Hedar_files/TestGO.htmSphere Function

  • Courtsey of http://www-optima.amp.i.kyoto-u.ac.jp/member/student/hedar/Hedar_files/TestGO.htmAckley Function

  • Courtsey of http://www-optima.amp.i.kyoto-u.ac.jp/member/student/hedar/Hedar_files/TestGO.htmGriewank Function

  • Courtsey of http://www-optima.amp.i.kyoto-u.ac.jp/member/student/hedar/Hedar_files/TestGO.htmRastrigin Function

  • Courtesy of http://en.wikipedia.org/wiki/File:Rosenbrock_function.svgRosenbrock Function

  • Traditional EA population size has to match number of processors.Asynchronous EAs can use a fixed population size (100).

    Use a fixed report time of 1, so all work is requested and sent out simultaneously.Simulating Homogeneous Environments

  • Simulated Homogeneous Environments

  • Simulated Homogeneous Environments

  • Simulated Homogeneous Environments

  • Simulating MilkyWay@Home

  • Simulated MilkyWay@Home

  • AGS didnt work!ADE/best worked?Simulated MilkyWay@Home

  • Simulated MilkyWay@Home

  • Travis Desell, David P. Anderson, Malik Magdon-Ismail, Heidi Newberg, Boleslaw Szymanski and Carlos A. Varela. An Analysis of Massively Distributed Evolutionary Algorithms. In the Proceedings of the 2010 IEEE Congress on Evolutionary Computation (IEEE CEC 2010), Barcelona, Spain, July 2010. To Appear.Further Reading on SimulationTravis Desell. Asynchronous Global Optimization for Massive-Scale Computing. PhD thesis. Rensselaer Polytechnic Institute. 2009

  • BOINC vs. BlueGene

  • BOINC vs. BlueGeneIterative GS on BlueGene

  • BOINC vs. BlueGeneAsynchronous GS on BlueGene11 Fitness evaluation was distributed over all 1000 cores -- only one worker

  • BOINC vs. BlueGeneAsynchronous GS on BlueGene121 Fitness evaluation was distributed over all 1000 cores -- only one worker2 Used better recombination heuristic

  • BOINC vs. BlueGeneAsynchronous GS on MilkyWay@Home11 With approximately 5,000 workers

  • Asynchronous optimization is fault tolerant by design.Asynchronous optimization also scales where traditional methods fail.Asynchronous optimization can also be faster than traditional iterative searches.Results

  • BOINC verifies every work unit

    Only results that will be inserted into the population need to be verified

    Partial Verification:Ignore false-negatives (results that wont be inserted)Verify results which potentially improve the searchHandling Malicious Results with Verification

  • Handling Malicious Results with VerificationUnevaluated IndividualsUnevaluated Individual (1)Unevaluated Individual (2)Unevaluated Individual (n)........

    Workers(Fitness Evaluation)Remove verified results from queue and insert them into the populationRequest WorkSend WorkGenerate new individuals when queue is lowPopulationFitness (1)Fitness (2)Fitness (n)...

    Individual (1)Individual (2)Individual (n)...

    Verification QueueFitness (1)Fitness (2)Fitness (n)...

    Individual (1)Individual (2)Individual (n)...

    Insert result if it could improve populationResend individuals at a specified verification rate

  • Further Reading on VerificationTravis Desell, Malik Magdon-Ismail, Boleslaw Szymanski, Carlos A. Varela, Heidi Newberg and David P. Anderson. Validating Evolutionary Algorithms on Volunteer Computing Grids. In the Proceedings of the 10th IFIP International Conference on Distributed Applications and Interoperable Systems (DAIS 2010), Amsterdam, Netherlands, June 2010.

  • Questions?

  • Thanks!http://www.cs.rpi.edu/~deselt/http://milkyway.cs.rpi.edu/http://dnahome.cs.rpi.edu/[email protected]

  • Particle Swarm Optimization

    Particles fly around the search space.

    Move according to their previous velocity and are pulled towards the global best found position and their locally best found position.

    Analogies:cognitive intelligence (local best knowledge)social intelligence (global best knowledge)November 19, 2009*

  • Particle Swarm Optimization (Example)November 19, 2009*previous: pi(t-1)current: pi(t)local bestglobal bestc1 * (li - pi(t))c2 * (g - pi(t))w * vi(t)velocity: vi(t)possible newpositions

  • Particle Swarm Optimization (Example)November 19, 2009*previous: pi(t-1)current: pi(t)local bestglobal bestc1 * (li - pi(t))c2 * (g - pi(t))w * vi(t)velocity: vi(t)possible newpositions

  • Particle Swarm Optimization (Example)November 19, 2009*previous: pi(t-1)current: pi(t)local bestglobal bestc2 * (g - pi(t))w * vi(t)velocity: vi(t)possible newpositionsParticle finds a new local best position

  • Particle Swarm Optimization (Example)November 19, 2009*previous: pi(t-1)current: pi(t)local bestglobal bestc2 * (g - pi(t))w * vi(t)velocity: vi(t)possible newpositionsc1 * (li - pi(t))

  • Particle Swarm Optimization (Example)November 19, 2009*previous: pi(t-1)current: pi(t)local bestglobal bestvelocity: vi(t)new positionParticle finds the global best position

  • Particle Swarm Optimization (Example)November 19, 2009*c2 * (g - pi(t))w * vi(t)possible newpositionsc1 * (li - pi(t))previous: pi(t-1)current: pi(t)local bestglobal bestvelocity: vi(t)Another particle finds the global best position

  • Particle Swarm Optimization (details)PSO:vi(t+1) = w * vi(t) + c1 * r1 * (li - pi(t)) + c2 * r2 * (g - pi(t))pi(t+1) = pi(t) + vi(t+1)

    w, c1, c2 = constantsr1, r2 = random float between 0 and 1vi(t) = velocity of particle i at iteration tpi(t) = position of particle i at iteration tli = best position found by particle ig = global best position found by all particlesNovember 19, 2009*

  • Differential Evolution (In Brief)In general:Perform binary or exponential recombination between the current individual and another individual modified by a scaled difference between n pairs of other individualsNovember 19, 2009* best/n/bin best/n/exp random/n/bin random/n/exp current/n/bin current/n/expParent SelectionNumber of PairsRecombination//Many Variations:

  • Differential Evolution (Example)November 19, 2009*current: pi(t)pair1: r1parent: r0recombine(current, target)target: r0 + c(r1 - r2)scaled differential: c(r1 - r2)scaled differential: c(r1 - r2)pair2: r2

  • Differential Evolution (Details)pi,j(t) = jth parameter of ith member of population at iteration tgj = jth parameter of global best member at iteration tc = scaling factorr1, r2 = random int between 0 and population size, r1 != r2r3 = random int between 0 and number of parametersr4 = random float between 0 and 1cr = crossover rateNovember 19, 2009*= gj(t) + c * (pr1,j(t) - pr2,j(t))= pi,j(t)pi,j(t+1)DE (best/1/bin):if r3 == j or r4 < crotherwiseif f(p(t+1)) < f(p(t)) then p(t+1) = p(t)