Distributed Evolutionary Computation for Fun and

1 downloads 3 Views 982KB Size Report
Gossip. Do not require proactive routing efforts. TTL based scalability. Emergent topology (Small-World). Gnutella. DRM. DHT. Explicit topology (Small-world).

Gecco 2007 Tutorial / Distributed Evolutionary Computation for Fun and Profit

Outline

Distributed Evolutionary Computation for Fun and Profit Juan Luis Jiménez Laredo

Objective DEC Volunteer computing

&

P2P

JJ Merelo

Ruby

U. Granada (Spain)

Our dream

Distributed evolutionary computation models

Milliards of People sharing CPU idle cycles through the Internet A crazy scientist designing easily an Evolutionary experiment for fun and/or profit

DEA

Parallel evaluation

Island

Centralized

Cellular

following a simple parallelization model The experiment is transparently conducted in

Coarse Grain

Finer Grain

a free, highly available HPC platform Good Performance, Good Results Copyright is held by the author/owner(s). GECCO’07, July 7–11, 2007, London, England, United Kingdom. ACM 978-1-59593-698-1/07/0007.

3251

1

Gecco 2007 Tutorial / Distributed Evolutionary Computation for Fun and Profit

DEC: Parallel evaluation

DEC: Island - Migration Rates - Number of islands - Selection and Replacement policies - Topologies



- To assign a number of tasks to a number of resources



Selection

Tasks

Recombination

Work Stations

LAN

DEC: Centralized • •

DEC: Cellular

- Fitness based parallelism - Master-Slave

- Individual per processor - Neighbourhood •- Topology •-Takeover time • •

Master u al ivid Ind itness F Slave

Slave

Slave

(Picture credit: http://neo.lcc.uma.es/cEA-web/Takeover.htm)

3252

2

Gecco 2007 Tutorial / Distributed Evolutionary Computation for Fun and Profit

Issues in DEC

Implementation Issues

Scalability Volunteer computing Performance

P2P Computing

Grid Computing Algorithmic issues

High Performance Computing High Throughput Computing

Resource availability

Volunteer Computing (I)‫‏‬

Volunteer Computing (II)‫‏‬

BlueGene: 1st in Top 500

BOINC ([email protected], [email protected],...)‫‏‬

280 Teraflops

521 Teraflops [email protected] 22000 PlayStation 3 289 Teraflops

3253

3

Gecco 2007 Tutorial / Distributed Evolutionary Computation for Fun and Profit

P2P Computing is Volunteer Computing ? Resources

File-sharing

P2P topology

Idle-cycles

Services

Overlay Network

Single point of failure Server dependent Scalability

Centralized

Napster Gossip Decentralized

BOINC

Do not require proactive routing efforts TTL based scalability Emergent topology (Small-World)

Gnutella

DRM

Explicit topology (Small-world) Require proactive routing efforts Bad adequacy in highly dynamic env.

DHT

Tapestry

Physical Network

Issues in P2P Computing

● ● ●

Communication Policies Bootstrapping Load Balancing ●

Heterogeneity

Issues in P2P Computing

● ● ●

Communication Policies Bootstrapping Load Balancing ●

Heterogeneity

3254

4

Gecco 2007 Tutorial / Distributed Evolutionary Computation for Fun and Profit

Issues in P2P Computing

● ● ●

Communication Policies Bootstrapping Load Balancing ●

Heterogeneity

Issues in P2P Computing

● ● ●

Communication Policies Bootstrapping Load Balancing ●

Heterogeneity

CPU Monoprocessor

CPU

CPU

Dual-Core

CPU

CPU

Biprocessor

Layered Model for Distributed evolutionary computation on P2P So…. How to do DEC on P2P ?

Evolutionary Comp. Agent Systems Overlay P2P Network Internet PC

3255

5

Gecco 2007 Tutorial / Distributed Evolutionary Computation for Fun and Profit

Where can I buy a framework? DREAM (http://dr-ea-m.sourceforge.net/) JADE

DREAM Arenas, M.G. Collet, P., Eiben, A. E., Jelasity, M., Merelo, J. J., Paechter, B., Preuß, M., Schoenauer, M., “A Framework for Distributed Evolutionary Algorithms”, Proceedings of PPSN VII, Granada, September 2002.

G2DGA

M.G. Arenas, B. Dolin, J.J. Merelo, P. A. Castillo, I Fernández De Viana, Marc Schoenauer. JEO: Java Evolving Objects. GECCO 2002. New York. 9-13 July 2002. Morgan Kufmann Publishers..

ParadisEO

Jelasity, M., Preuß, M. and Paechter, B., “A Scaleable and Robust Framework for Distributed Application”, Proceedings of the Congress on Evolutionary Computation, Honolulu, pp1540-1545, May 2002

GPU JXTA

DREAM

Using DRM Application

User A

EA

Agent

GUIDE

User B

EASEA

User C

getNews

JEO

Node

newsUpdate

Correspondent

User D

Agent

getNews

CONSOLE

News Agency

newsUpdate

Correspondent

Cache

User E

Node

Cache

sendCache, receiveCache

Cache Item DRM

Address

Timestamp AgentID Application Data

3256

6

Gecco 2007 Tutorial / Distributed Evolutionary Computation for Fun and Profit

Using DRM

JEO+DRM (DREAM)

Gossip protocol

Based on Island model

Cache size = 3 2

1

2’

2

Node 1 selects Node 2 3

1,2,3

Gossip just for statistic dissemination

1,3,4

1 1,2’,3

1,2’,3

Direct communication scheme

3 1,3,4 4 2,4

4 2,4

Let’s experiment with DRM(I)

Predefined number of Island

Bad fault tolerance

What about new resources?

Limited scalability

Good experimental results

Let’s experiment with DRM(II)

- Using gossip

-

The Knapsack Problem

- Distributed Genetic Algorithm -Island Model

-

User E

- 9 Data Sets CONSOLE

DRM

3257

7

Gecco 2007 Tutorial / Distributed Evolutionary Computation for Fun and Profit

Let’s experiment with DRM(III)

Let’s experiment with DRM(IV)

Hopsavg ≈ N All migrants infects all the nodes MigrantSent ≈ 0.1N generation A migrant infects 10% of the network each generation

Let’s gossip (I)

Let’s gossip (II)

Gossip

Population of Agents Evolvable Agent

or

Evolvable Agent

Population of Agents

Evolvable Agent

Evolvable Agent

Evolvable Agent

Evolvable Agent

Epidemic Blackboard A GOSSIP: CONTRIBUTION Address Evaluations

Scheduler

Blackboard Cache

Scheduler

Cache

Individual NODE

NODE

Ping, Pong

3258

8

Gecco 2007 Tutorial / Distributed Evolutionary Computation for Fun and Profit

Let’s gossip (III) Population of Agents Evolvable Agent

Evolvable Agent

Evolvable Agent

Blackboard Cache

Scheduler

Let’s gossip (IV) Population of Agents

Evolvable Agent St  Initialize Register on Blackboard DO Sols  Selection St +1  Crossover (Sols,Pc ) St +1  Mutation (St +1, Pm ) St +1  Evaluation (St +1) If St +1 better than Blackboard.Best Blackboard.Best  St +1 If St +1 better than St St  St + 1’

NODE

Evolvable Agent

CPU

CPU

Monoprocessor

Evolvable Agent

Blackboard Scheduler

Scheduler

Each ΔT Node  Select random node Contribution  Num_eval, St Ping (Node, Contribution) Ping Handler

Cache

Cache(Node)  Contribución Pong(Node,Ok) Pong Handler

NODE

Properties: Heterogeneity

Evolvable Agent

ΔT  Time

Properties: Scalability

CPU

Biprocessor

SGA

Agents

SGA

Agents

3259

9

Gecco 2007 Tutorial / Distributed Evolutionary Computation for Fun and Profit

Properties: Algorithmic results

Challenges Bootstrapping

Take advantage of large-scale resources Scalability Fault tolerance

- Lattice cellular models

-

- Self-adaptive population size

Load Balancing

Proposal: Self-adaptive population size Evolvable Agent St  Initialize Register on Blackboard While is Alive If (!survive(St)) isAlive  false else if (fertile(St)) Saux  Random solution St+1  Recombine (Saux, St, Pc) St +1  Mutation (St +1, Pm ) St +1  Evaluation (St +1) If St +1 better than Blackboard.Best Blackboard.Best  St +1 new Evolvable Agent (St +1)

Proposal: Autonomous selection (I)

Δf (x) = f (x) − f

sigm,s (Δf (x)) =

1 −m( Δf ( x )−s )

e

3260

10

Gecco 2007 Tutorial / Distributed Evolutionary Computation for Fun and Profit

Preliminary results

Proposal: Autonomous selection (II)

Δf (St ) = f (St )− f Survive (St)

Fertile (St)

Parameters

Parameters

Ms , Ss

sigms ,ss (Δf (St )) =

Mf , Sf

1 −ms (Δf ( St )−ss )

e

sigmf ,s f (Δf (St )) =

1 −mf (Δf (St )−s f )

e

Proposal: Lattice cellular model Evolvable Agent Cache

EC

Scheduler

Cache

Evolvable Agent Cache

Evolvable Agent

Status: Under research…. Scheduler

Scheduler

GOSSIP (Picture credit: W R Cheswick/Bell Labs)

Evo Material

3261

11

Gecco 2007 Tutorial / Distributed Evolutionary Computation for Fun and Profit

A highly available resource

Let’s have fun: We’ve found a Gem

Who has a PC? And a Mac? Who works on Linux? And Windows? Who program on C? and Java?

And we know how to use it

Who does not have a JavaScript?

Browswers are everywhere And browsers are actually virtual machines that can be used for evolutionary computation. Javascript is in every browser And in every machine

AJAX to the rescue Javascript by itself is not enough for using the browser as a distributed EC environment An asynchoronous communication device is needed AJAX=Asynchrono us Javascript & 3262

12

Gecco 2007 Tutorial / Distributed Evolutionary Computation for Fun and Profit

AJAX for everyone

Allright, how does it work?

Most browsers include Javascript/ECMAsc ript The object model is also compatible. XMLHttpRequest is a must.

Slow train coming

What is DCoR? Distributed computation on rails is a

an agile development environment based on the MVC paradigm, the Ruby language,

distributed computation system, geared for evolutionary computation, based on Ruby on Rails.

AJAX and a DBMS

The distribution model is client/server But servers can be linked.

Wanted:cool coollogo logo Wanted:

Ruby on Rails is

It's still on the proof of concept phase. Testing for browser performance and other parameters.

3263

13

Gecco 2007 Tutorial / Distributed Evolutionary Computation for Fun and Profit

Don't try this at home

Experimental setup

Royal Road

Pruebas con cliente/servidor en el mismo

problem

ordenador (Linux) y en diferentes ordenadores (servidor:Linux, cliente:Windows).

Usual testbed for EC problems A way to test 1 1 =3 integer 1 0 1 performance.=0 1

Workload distribution results (OSs)

Browser wars

3264

14

Gecco 2007 Tutorial / Distributed Evolutionary Computation for Fun and Profit

Let's go backpacking

Server performance

Binary bin-packing problem. Maximize the weight of packaging respecting constraints.

Experiments on a soho installation.

Browser performance

Scaling

3265

15

Gecco 2007 Tutorial / Distributed Evolutionary Computation for Fun and Profit

Where do we go from here? It mostly works

Open source project

If you have the chance, choose carefully client and server. Software

http://rubyforge.org/projects/dconrails /

performance more important than hardware

Volunteers accepted.

That's all

Thank you very much

3266

16