Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


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

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

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

3 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

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

5 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

6 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

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

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

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

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

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

12 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

13 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.)

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

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

16 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

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

18 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

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

20 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

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

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

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

24 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

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

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

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

28 Master Worker Master Master / WorkerPeered

29 Worker Master Hybrid: Peered Masters with Worker Pool

30 High-Level Process Diagram ControllerDispatcher Container Evaluator

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

32 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

33 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

34 High-Level Process Diagram ControllerDispatcher Container Evaluator

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

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

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

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

39 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

40 Physical Mappings ControllerDispatcher Container Evaluator

41 Physical Mappings ControllerDispatcher Container Evaluator

42 Physical Mappings ControllerDispatcher Container Evaluator

43 Physical Mappings Controller Dispatcher Container Evaluator Dispatcher

44 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

45 nicolas@kruchten.com this presentation is available at: http://nicolas.kruchten.com/ Questions? a l a p a g o s

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


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

Similar presentations


Ads by Google