Dconrails Gecco Presentation

Preview:

DESCRIPTION

Presentation for browser-based evolutionary computation.

Citation preview

Browser-based distributed evolutionary computation

Browser-based distributed evolutionarycomputation

Performance and scaling behavior

Merelo, Mora-Garcıa, Laredo, Lupion, Tricas

July 5, 2007

Browser-based distributed evolutionary computation

Outline

1 IntroductionAd-hoc ComputingStealth Computing

2 AJAX at workBasic mechanisms

3 Ruby on RailsWhy?

4 Distributed Computation on RailsGeneral scheme

5 ExperimentsSetupTests

6 Results

7 ConclusionsAll’s well that ends well

8 The EndThanks for your attention

Browser-based distributed evolutionary computation

Introduction

Ad-hoc Computing

What is your computer doing now?

Nothing!

... Probably

Browser-based distributed evolutionary computation

Introduction

Ad-hoc Computing

What is your computer doing now?

Nothing!... Probably

Browser-based distributed evolutionary computation

Introduction

Ad-hoc Computing

What is in every computer?

Browser-based distributed evolutionary computation

Introduction

Ad-hoc Computing

What is in every computer?

Browser-based distributed evolutionary computation

Introduction

Ad-hoc Computing

What is in every computer?

Browser-based distributed evolutionary computation

Introduction

Ad-hoc Computing

And every browser is a virtual machine

JavaScript is a standardlanguage, withimplementations in everybrowser.

JavaScript programs areembedded in websites,and run within thebrowser

Limitations: access tolocal files

Speed? Better don’t ask.

Browser-based distributed evolutionary computation

Introduction

Stealth Computing

Again, what’s your computer doing now?

Javascript programs rununnoticed

And they can call back

Browser-based distributed evolutionary computation

AJAX at work

Basic mechanisms

Asynchronous Javascript and XML

AJAX includes anasynchronous mechanismof communication basedin XML

Important thing about A:does not block thebrowser.

Browser-based distributed evolutionary computation

AJAX at work

Basic mechanisms

Checklist for AJAX

Most browser includeECMAScript/Javascript

Object model is mostlycompatible.

XMLHttpRequest objectrequired for async calls.

Browser-based distributed evolutionary computation

AJAX at work

Basic mechanisms

Checklist for AJAX

Most browser includeECMAScript/Javascript

Object model is mostlycompatible.

XMLHttpRequest objectrequired for async calls.

Browser-based distributed evolutionary computation

AJAX at work

Basic mechanisms

Checklist for AJAX

Most browser includeECMAScript/Javascript

Object model is mostlycompatible.

XMLHttpRequest objectrequired for async calls.

Browser-based distributed evolutionary computation

AJAX at work

Basic mechanisms

A picture is worth a thousand...

Browser-based distributed evolutionary computation

Ruby on Rails

Why?

It’s fast and small and sexy

Well, not really.

Rapid developmentenvironment based onRuby (the language),AJAX and a RDBMS(usually MySQL).

Natural communicationclient-server usingJavascript ObjectNotation (JSON).

Browser-based distributed evolutionary computation

Ruby on Rails

Why?

It’s fast and small and sexy

Well, not really.

Rapid developmentenvironment based onRuby (the language),AJAX and a RDBMS(usually MySQL).

Natural communicationclient-server usingJavascript ObjectNotation (JSON).

Browser-based distributed evolutionary computation

Ruby on Rails

Why?

It’s fast and small and sexy

Well, not really.

Rapid developmentenvironment based onRuby (the language),AJAX and a RDBMS(usually MySQL).

Natural communicationclient-server usingJavascript ObjectNotation (JSON).

Browser-based distributed evolutionary computation

Ruby on Rails

Why?

But there could be other alternatives

Really, all you need is aweb browser, a server and(X)Emacs

Google Web Toolkit couldbe an alternative

Also Django, or otherMVC frameworks.

RoR was just the firstthing we thought aboutwe knew how to code with

Browser-based distributed evolutionary computation

Distributed Computation on Rails

General scheme

There you have it

Browser-based distributed evolutionary computation

Distributed Computation on Rails

General scheme

Setting up the algorithms

Browser-based distributed evolutionary computation

Distributed Computation on Rails

General scheme

Downloading from server

Browser-based distributed evolutionary computation

Experiments

Setup

Experimental setup

Browser-based distributed evolutionary computation

Experiments

Tests

Floating-point tests usingthe 10-variable Griewankfunction.

F (x) =n∑

i=1

xi2

4000+

n∏i=1

cosxi√i+1

(1)

20-bit binarychromosome.

80% 2-point crossover,20% mutation.

Browser-based distributed evolutionary computation

Results

Which JS virtual machine?

Browser-based distributed evolutionary computation

Results

Effect of packet size

Browser-based distributed evolutionary computation

Results

Scaling behaviour

Browser-based distributed evolutionary computation

Results

Influence of debugging info on/off

Browser-based distributed evolutionary computation

Conclusions

All’s well that ends well

Still at the proof-of-concept stage

Stealth/browser-based evolutionarycomputation shows its promise.

Problems at the browser level: lowperformance of the JS virtual machineas compared with state-of-the-artlanguages.

But that will be solved in the nearfuture with JIT Tamarin

Problems at the server level: highlymultiprocessing, multithreaded,load-balanced server needed.

Or reduce server load by offloadingmost things to browser

Browser-based distributed evolutionary computation

The End

Thanks for your attention

Any question?

Visit http://geneura.wordpress.com,our group blog!

Recommended