Idle-cycles. Centralized. Single point of failure. Server dependent Scalability. Napster. BOINC. Decentralized. Gossip. Do not require proactive routing efforts.
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 (Seti@home, folding@home,...)
280 Teraflops
521 Teraflops Folding@home 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