A l a p a g o s : a generic distributed parallel genetic algorithm development platform Nicolas Kruchten 4 th year Engineering Science (Infrastructure.

Slides:



Advertisements
Similar presentations
Evolutionary Algorithms Nicolas Kruchten 4 th Year Engineering Science Infrastructure Option.
Advertisements

Using Parallel Genetic Algorithm in a Predictive Job Scheduling
Exact and heuristics algorithms
Genetic Algorithms By: Anna Scheuler and Aaron Smittle.
Spark: Cluster Computing with Working Sets
Tuesday, May 14 Genetic Algorithms Handouts: Lecture Notes Question: when should there be an additional review session?
Genetic Algorithms Representation of Candidate Solutions GAs on primarily two types of representations: –Binary-Coded –Real-Coded Binary-Coded GAs must.
1 Wendy Williams Metaheuristic Algorithms Genetic Algorithms: A Tutorial “Genetic Algorithms are good at taking large, potentially huge search spaces and.
Non-Linear Problems General approach. Non-linear Optimization Many objective functions, tend to be non-linear. Design problems for which the objective.
TEMPLATE DESIGN © Genetic Algorithm and Poker Rule Induction Wendy Wenjie Xu Supervised by Professor David Aldous, UC.
1 Lecture 8: Genetic Algorithms Contents : Miming nature The steps of the algorithm –Coosing parents –Reproduction –Mutation Deeper in GA –Stochastic Universal.
A CHAT CLIENT-SERVER MODULE IN JAVA BY MAHTAB M HUSSAIN MAYANK MOHAN ISE 582 FALL 2003 PROJECT.
Improved Crowd Control Utilizing a Distributed Genetic Algorithm John Chaloupek December 3 rd, 2003.
DISTRIBUTED CONSISTENCY MANAGEMENT IN A SINGLE ADDRESS SPACE DISTRIBUTED OPERATING SYSTEM Sombrero.
PGA – Parallel Genetic Algorithm Hsuan Lee. Reference  E Cantú-Paz, A Survey on Parallel Genetic Algorithm, Calculateurs Paralleles, Reseaux et Systems.
The new The new MONARC Simulation Framework Iosif Legrand  California Institute of Technology.
Parallel Computing in SAS. Genetic Algorithms Application Alejandro Correa, Banco Colpatria Andrés González, Banco Colpatria Darwin Amézquita, Banco Colpatria.
Genetic Programming. Agenda What is Genetic Programming? Background/History. Why Genetic Programming? How Genetic Principles are Applied. Examples of.
Department of Computer Science 1 CSS 496 Business Process Re-engineering for BS(CS)
Genetic Algorithms Overview Genetic Algorithms: a gentle introduction –What are GAs –How do they work/ Why? –Critical issues Use in Data Mining –GAs.
Genetic Algorithms: A Tutorial
A l a p a g o s : a generic distributed parallel genetic algorithm development platform Nicolas Kruchten 4 th year Engineering Science (Infrastructure.
1 Reasons for parallelization Can we make GA faster? One of the most promising choices is to use parallel implementations. The reasons for parallelization.
ADLB Update Recent and Current Adventures with the Asynchronous Dynamic Load Balancing Library Rusty Lusk Mathematics and Computer Science Division Argonne.
Server Load Balancing. Introduction Why is load balancing of servers needed? If there is only one web server responding to all the incoming HTTP requests.
The Design Discipline.
Prepared by Barış GÖKÇE 1.  Search Methods  Evolutionary Algorithms (EA)  Characteristics of EAs  Genetic Programming (GP)  Evolutionary Programming.
Evolutionary algorithms
Genetic Algorithm.
Neural and Evolutionary Computing - Lecture 10 1 Parallel and Distributed Models in Evolutionary Computing  Motivation  Parallelization models  Distributed.
Cristian Urs and Ben Riveira. Introduction The article we chose focuses on improving the performance of Genetic Algorithms by: Use of predictive models.
Soft Computing Lecture 18 Foundations of genetic algorithms (GA). Using of GA.
Optimization Problems - Optimization: In the real world, there are many problems (e.g. Traveling Salesman Problem, Playing Chess ) that have numerous possible.
Arindam K. Das CIA Lab University of Washington Seattle, WA MINIMUM POWER BROADCAST IN WIRELESS NETWORKS.
Introduction to Evolutionary Algorithms Session 4 Jim Smith University of the West of England, UK May/June 2012.
1 “Genetic Algorithms are good at taking large, potentially huge search spaces and navigating them, looking for optimal combinations of things, solutions.
FINAL EXAM SCHEDULER (FES) Department of Computer Engineering Faculty of Engineering & Architecture Yeditepe University By Ersan ERSOY (Engineering Project)
Genetic Algorithms Siddhartha K. Shakya School of Computing. The Robert Gordon University Aberdeen, UK
Derivative Free Optimization G.Anuradha. Contents Genetic Algorithm Simulated Annealing Random search method Downhill simplex method.
*Partially funded by the Austrian Grid Project (BMBWK GZ 4003/2-VI/4c/2004) Making the Best of Your Data - Offloading Visualization Tasks onto the Grid.
Chapter 6 Introduction to Defining Classes. Objectives: Design and implement a simple class from user requirements. Organize a program in terms of a view.
1 Genetic Algorithms K.Ganesh Introduction GAs and Simulated Annealing The Biology of Genetics The Logic of Genetic Programmes Demo Summary.
Parallel Genetic Algorithms By Larry Hale and Trevor McCasland.
Coevolutionary Automated Software Correction Josh Wilkerson PhD Candidate in Computer Science Missouri S&T.
Computer Science 340 Software Design & Testing Software Architecture.
AMH001 (acmse03.ppt - 03/7/03) REMOTE++: A Script for Automatic Remote Distribution of Programs on Windows Computers Ashley Hopkins Department of Computer.
Group Mission and Approach To enhance Performance and Productivity in programming complex parallel applications –Performance: scalable to thousands of.
D Nagesh Kumar, IIScOptimization Methods: M8L5 1 Advanced Topics in Optimization Evolutionary Algorithms for Optimization and Search.
Source Level Debugging of Parallel Programs Roland Wismüller LRR-TUM, TU München Germany.
GAIA (Genetic Algorithm Interface Architecture) Requirements Analysis Document (RAD) Version 1.0 Created By: Charles Hall Héctor Aybar William Grim Simone.
(Genetic Algorithm Interface Architecture) Final Presentation CS 425 Created By: Chuck Hall Simone Connors Héctor Aybar Mike Grim.
THE EYESWEB PLATFORM - GDE The EyesWeb XMI multimodal platform GDE 5 March 2015.
FACTS Placement Optimization For Multi-Line Contignecies Josh Wilkerson November 30, 2005.
Gerstner Lab, CTU Prague 1Motivation Typically,  an evolutionary optimisation framework considers the EA to be used to evolve a population of candidate.
Genetic Algorithms. Underlying Concept  Charles Darwin outlined the principle of natural selection.  Natural Selection is the process by which evolution.
Genetic Algorithms. Solution Search in Problem Space.
EVOLUTIONARY SYSTEMS AND GENETIC ALGORITHMS NAME: AKSHITKUMAR PATEL STUDENT ID: GRAD POSITION PAPER.
Genetic Algorithm. Outline Motivation Genetic algorithms An illustrative example Hypothesis space search.
 Presented By: Abdul Aziz Ghazi  Roll No:  Presented to: Sir Harris.
Genetic (Evolutionary) Algorithms CEE 6410 David Rosenberg “Natural Selection or the Survival of the Fittest.” -- Charles Darwin.
Evolutionary Computation Evolving Neural Network Topologies.
CEng 713, Evolutionary Computation, Lecture Notes parallel Evolutionary Computation.
TensorFlow– A system for large-scale machine learning
USING MICROBIAL GENETIC ALGORITHM TO SOLVE CARD SPLITTING PROBLEM.
Balancing of Parallel Two-Sided Assembly Lines via a GA based Approach
Building Grids with Condor
EE368 Soft Computing Genetic Algorithms.
REMOTE++: A Tool for Automatic Remote
Traveling Salesman Problem by Genetic Algorithm
Coevolutionary Automated Software Correction
Presentation transcript:

a l a p a g o s : a generic distributed parallel genetic algorithm development platform Nicolas Kruchten 4 th year Engineering Science (Infrastructure Option)

Last Week Introduction to Galapagos: –Background –Motivation –Capabilities –What but not how…

Major Points Galapagos is a platform with which we can develop distributed parallel genetic algorithms Galapagos is very flexible –Many (GA-appropriate) problems –Many GA types Operators Population structure –Many distribution schemes

Today Technical explanation of Galapagos Approach: 3 views of Galapagos’ flexibility –Problem-domain –GA types & parallel population structure –GA distribution architecture

Problem-Domain GAs are optimization tools Need objective function –Not always real function of real variables Galapagos can be used with a wide variety of objective functions

Object Oriented Galapagos defines and executes a set of ‘black-box’ steps in a flowchart Internal workings of boxes, and data types they operate on are up to the developer Galapagos provides templates for building new data types and GA operators

Initializer Generator Assembler evaluation Convergence end yes no GA Types: Galapagos GA Flow Diagram Migrator Epoch yes no

Initializer Generator Assembler evaluation Convergence end yes no Initializer picks the initial population default: random, specified min/max other uses: seeding the population

Initializer Generator Assembler evaluation Convergence end yes no evaluation handled by Galapagos usually handed to LightGrid for distributed processing can be handled on local machine (single-computer version)

Initializer Generator Assembler evaluation Convergence end yes no Generator Creates a generation of children GA usually works with: A Mutator A Recombiner (compare: EP) each child = mutate(recombine()) (mutate the output of recombination operation)

Initializer Generator Assembler evaluation Convergence end yes no evaluation same as above

Initializer Generator Assembler evaluation Convergence end yes no Assembler Creates a new population, using an existing population and an incoming generation GA falls roughly in: Simple (‘canonical’) Crowding (‘steady-state’, ‘incremental’, ‘truncation’) Crowding usually implemented using a Selector This is where elitism occurs

Initializer Generator Assembler evaluation Convergence end yes no Convergence Defines some end condition for the run Usually based on: A real time measure An ‘algorithm time’ measure Some parameter (mean, std etc.)

Initializer Generator Assembler evaluation Convergence end yes no end Run is over Whatever post-processing, logging etc happens here

Migrator Epoch yes no Epoch Asynchronously evaluated Defines some timeframe: Real time ‘algorithm time’ Some parameter (mean, std, etc.)

Migrator Epoch yes no Migrator Required for Parallel GA (multiple populations) On sending side, defines: migrant destination migrant number migrant selection On destination side, defines: replacement policy usually implemented with: Topology Selector Assembler

Supporting Operators Generator: –Mutator –Recombiner Assembler: –Selector Migrator: –Topology –Selector –Assembler (already covered)

Mutator Basic EA staple Input: a chromosome Output: a chromosome Function: performs some mutation Usually implemented using a GeneMutator, in which case Mutator selects which genes are mutated, GeneMutator governs how that occurs

GeneMutator Usually called from a Mutator Input: a gene Output: a gene Function: mutate that gene according to some rule

Recombiner Input: none Output: a chromosome Function: uses an internal Selector to pick parents, creates n children according to some rule If no recombination/crossover occurs, this is EP, not GA

Selector Shows up everywhere! EA staple Input: selection pool, n Output: n chromosomes Function: selects n chromosomes according to some rule

Topology Required in Parallel GA Defines migrant destination, number per destination Defines nature of PGA: –Coarse-grained/Fine-grained –Deterministic /Stochastic

Operators Initializer Generator Assembler Convergence Epoch Migrator Mutator GeneMutator Recombiner Selector Topology

Summary Meta-operators and supporting operators provide a well-defined yet flexible GA base Migrator/Epoch/Topology operators allow for wide variety of PGA types

Initializer Generator Assembler evaluation Convergence end yes no evaluation handled by Galapagos usually handed to LightGrid for distributed processing can be handled on local machine (single-computer version)

LightGrid explained Clients and Resources Dispatcher Generic: can be used to implement any distributed application

Master Process Slave Process Slave Process Slave Process Slave Process Resource Pool Job Result Dispatcher Grid Computing

Master Worker Master Master / WorkerPeered

Worker Master Hybrid: Peered Masters with Worker Pool

High-Level Process Diagram ControllerDispatcher Container Evaluator

Process view 4 major process types: –Container (LightGrid Clients) –Evaluator (LightGrid Resources) –Controller –LightGrid Dispatcher Each process holds more than one thread of execution (sub-process)

Process View II Containers (LightGrid Clients): –Contain and manage populations –Interface between populations and evaluators –Interface between individual populations Evaluators (LightGrid Resources): –Compute the fitness value for a given chromosome

Process View III Controller: –‘where the user sits’ –Input/Output, control process –Issues start/stop/reset messages LightGrid Dispatcher: –Dispatches jobs from Clients to Resources and passes the results back

High-Level Process Diagram ControllerDispatcher Container Evaluator

Controller Process Diagram User Input Listener Container Listener Convergence Checker Population Copies Controller Containers

Container Process Diagram Containers User Input Listener Migrant Listener Epoch Checker Populations Container Controllers Dispatchers Dispatcher Listener Controller Listener Sent Jobs

Dispatcher Process Diagram User Input Listener Dispatcher Loop Free Resources Dispatcher Containers Evaluators Resource Listener Controller Listener Sent Jobs Unsent Jobs

Evaluator Process Diagram User Input Listener Dispatcher Listener Fitness Evaluator Job Evaluator Dispatchers

Physical View Given N computers, M populations, what goes where? –Nature of fitness –Nature of operators –Nature of computers –Nature of network Galapagos is flexible enough to be deployed almost anywhere

Physical Mappings ControllerDispatcher Container Evaluator

Physical Mappings ControllerDispatcher Container Evaluator

Physical Mappings ControllerDispatcher Container Evaluator

Physical Mappings Controller Dispatcher Container Evaluator Dispatcher

Summary Distributed PGA design is very complex: –Problem-domain specifics –GA type & population structure design –Available hardware Galapagos doesn’t provide easy answers but does provide a flexible common basis to work from

this presentation is available at: Questions? a l a p a g o s

a l a p a g o s : a generic distributed parallel genetic algorithm development platform Nicolas Kruchten 4 th year Engineering Science (Infrastructure Option)