2 research outputs found
NodIO, a JavaScript framework for volunteer-based evolutionary algorithms : first results
JavaScript is an interpreted language mainly known for its inclusion in web
browsers, making them a container for rich Internet based applications. This
has inspired its use, for a long time, as a tool for evolutionary algorithms,
mainly so in browser-based volunteer computing environments. Several libraries
have also been published so far and are in use. However, the last years have
seen a resurgence of interest in the language, becoming one of the most popular
and thus spawning the improvement of its implementations, which are now the
foundation of many new client-server applications. We present such an
application for running distributed volunteer-based evolutionary algorithm
experiments, and we make a series of measurements to establish the speed of
JavaScript in evolutionary algorithms that can serve as a baseline for
comparison with other distributed computing experiments. These experiments use
different integer and floating point problems, and prove that the speed of
JavaScript is actually competitive with other languages commonly used by the
evolutionary algorithm practitioner.Comment: GeNeura 2006-0
Modeling browser-based distributed evolutionary computation systems
From the era of big science we are back to the "do it yourself", where you do
not have any money to buy clusters or subscribe to grids but still have
algorithms that crave many computing nodes and need them to measure
scalability. Fortunately, this coincides with the era of big data, cloud
computing, and browsers that include JavaScript virtual machines. Those are the
reasons why this paper will focus on two different aspects of volunteer or
freeriding computing: first, the pragmatic: where to find those resources,
which ones can be used, what kind of support you have to give them; and then,
the theoretical: how evolutionary algorithms can be adapted to an environment
in which nodes come and go, have different computing capabilities and operate
in complete asynchrony of each other. We will examine the setup needed to
create a very simple distributed evolutionary algorithm using JavaScript and
then find a model of how users react to it by collecting data from several
experiments featuring different classical benchmark functions.Comment: Technical repor