Dconrails Gecco Presentation

29
Browser-based distributed evolutionary computation Browser-based distributed evolutionary computation Performance and scaling behavior Merelo, Mora-Garc´ ıa, Laredo, Lupi´ on, Tricas July 5, 2007

description

Presentation for browser-based evolutionary computation.

Transcript of Dconrails Gecco Presentation

Page 1: Dconrails Gecco Presentation

Browser-based distributed evolutionary computation

Browser-based distributed evolutionarycomputation

Performance and scaling behavior

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

July 5, 2007

Page 2: Dconrails Gecco Presentation

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

Page 3: Dconrails Gecco Presentation

Browser-based distributed evolutionary computation

Introduction

Ad-hoc Computing

What is your computer doing now?

Nothing!

... Probably

Page 4: Dconrails Gecco Presentation

Browser-based distributed evolutionary computation

Introduction

Ad-hoc Computing

What is your computer doing now?

Nothing!... Probably

Page 5: Dconrails Gecco Presentation

Browser-based distributed evolutionary computation

Introduction

Ad-hoc Computing

What is in every computer?

Page 6: Dconrails Gecco Presentation

Browser-based distributed evolutionary computation

Introduction

Ad-hoc Computing

What is in every computer?

Page 7: Dconrails Gecco Presentation

Browser-based distributed evolutionary computation

Introduction

Ad-hoc Computing

What is in every computer?

Page 8: Dconrails Gecco Presentation

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.

Page 9: Dconrails Gecco Presentation

Browser-based distributed evolutionary computation

Introduction

Stealth Computing

Again, what’s your computer doing now?

Javascript programs rununnoticed

And they can call back

Page 10: Dconrails Gecco Presentation

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.

Page 11: Dconrails Gecco Presentation

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.

Page 12: Dconrails Gecco Presentation

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.

Page 13: Dconrails Gecco Presentation

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.

Page 14: Dconrails Gecco Presentation

Browser-based distributed evolutionary computation

AJAX at work

Basic mechanisms

A picture is worth a thousand...

Page 15: Dconrails Gecco Presentation

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

Page 16: Dconrails Gecco Presentation

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

Page 17: Dconrails Gecco Presentation

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

Page 18: Dconrails Gecco Presentation

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

Page 19: Dconrails Gecco Presentation

Browser-based distributed evolutionary computation

Distributed Computation on Rails

General scheme

There you have it

Page 20: Dconrails Gecco Presentation

Browser-based distributed evolutionary computation

Distributed Computation on Rails

General scheme

Setting up the algorithms

Page 21: Dconrails Gecco Presentation

Browser-based distributed evolutionary computation

Distributed Computation on Rails

General scheme

Downloading from server

Page 22: Dconrails Gecco Presentation

Browser-based distributed evolutionary computation

Experiments

Setup

Experimental setup

Page 23: Dconrails Gecco Presentation

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.

Page 24: Dconrails Gecco Presentation

Browser-based distributed evolutionary computation

Results

Which JS virtual machine?

Page 25: Dconrails Gecco Presentation

Browser-based distributed evolutionary computation

Results

Effect of packet size

Page 26: Dconrails Gecco Presentation

Browser-based distributed evolutionary computation

Results

Scaling behaviour

Page 27: Dconrails Gecco Presentation

Browser-based distributed evolutionary computation

Results

Influence of debugging info on/off

Page 28: Dconrails Gecco Presentation

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

Page 29: Dconrails Gecco Presentation

Browser-based distributed evolutionary computation

The End

Thanks for your attention

Any question?

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