NodIO: a framework and architecture for pool-based evolutionary computation
Dept. of Computer Architecture and Technology and CITIC
University of Granada, Granada, Spain
Dept. of Graduate Studies
Instituto Tecnológico de Tijuana, Tijuana, México
Within a budget
faster than compiled languages such as Scala, providing
a performance comparable to other languages usually employed
in evolutionary computation such as Python.
Runtime of 10,000 function evaluations for a complex benchmark function in
several implementation languages.
In a slide
volunteer-based evolutionary algorithm experiments.
This can serve as a baseline for comparison with other distributed computing
The NodIO framework and API
The NodIO architecture has two tiers.
JSON data format is used for the
communication between clients and the server
The REST Server
Stores two types of information:
- Information related to the evolutionary algorithm such as chromosomes.
- Information related to the performance and state of the experiments.
- It also performs logging duties.
A client that includes the evolutionary algorithm as
additional links, and information on the experiment.
This code runs an evolutionary algorithm island (in NodEO) starting with a random
then it sends, every 100 generations, the best individual
back to the server (via a
... and requests a random
individual from the server (via a
How different challenges of Volunteer-Based systems are adressed
- Heterogeneous clients.
- Fault tolerance.
- Ease of use.
- Reasonable performance.
- Restarting of the client once a solution has been found.
- Ability to randomly distribute the population size of islands.
- HTML5 Web Workers.
Advantages of the Web Worker API
- If the browser uses a tabbed document interface, the worker script
keeps running in the background even in case the user brings forward another tabbed
- Several evolutionary algorithms can be executed in parallel in a single web page.
- Many implementations of the Web Worker API can use multiple-core CPUs for
the execution of worker scripts.
NodEO instance can be restarted independently.
Communication between the Main page and Web Workers
NodIO-WW (Part I)
NodIO-WW (Part II)
Comparison from previous experiments, NodIO vs NodIO-WW
More Details in the paper
Front page: 5-52 Denver AM
by Robert Kash is licensed under CC BY 2.0