Browser-based distributed evolutionary computation: performance and scaling behavior

The challenge of ad-hoc computing is to find the way of taking advantage of spare cycles in an efficient way that takes into account all capabilities of the devices and inter connections available to them. In this paper we explore distributed evolutionary computation based on the Ruby on Rails framework, which overlays a Model-View-Controller on evolutionary computation. It allows anybody with a web browser (that is, mostly everybody connected to the Internet) to participate in an evolutionary computation experiment. Using a straight forward farming model, we consider different factors, such as the size of the population used. We are mostly interested in how they impact on performance, but also the scaling behavior when a non-trivial number of computers is applied to the problem. Experiments show the impact of different packet sizes on performance, as well as a quite limited scaling behavior, due tothe characteristics of the server. Several solutions for that problem are proposed.

[1]  Ralph E. Johnson,et al.  Design Patterns: Abstraction and Reuse of Object-Oriented Design , 1993, ECOOP.

[2]  David P. Anderson,et al.  High-performance task distribution for volunteer computing , 2005, First International Conference on e-Science and Grid Computing (e-Science'05).

[3]  Daniel S. Myers,et al.  Necessity is the mother of invention: a simple grid computing system using commodity tools , 2003, J. Parallel Distributed Comput..

[4]  Gregory Allen Kohring,et al.  Implicit Simulations using Messaging Protocols , 2002, ArXiv.

[5]  Stephen Travis Pope,et al.  A cookbook for using the model-view controller user interface paradigm in Smalltalk-80 , 1988 .

[6]  Peter R. Cappello,et al.  A scalable, robust network for parallel computing , 2001, JGI '01.

[7]  David Thomas,et al.  Programming Ruby: the pragmatic programmer's guide , 2000 .

[8]  David Flanagan JavaScript Pocket Reference (2nd Edition) , 2002 .

[9]  Marco Locatelli,et al.  A Note on the Griewank Test Function , 2003, J. Glob. Optim..

[10]  William B. Langdon,et al.  Java based Distributed Genetic Programming on the Internet , 1999, GECCO.

[11]  Satoshi Hirano,et al.  Bayanihan: building and studying web-based volunteer computing systems using Java , 1999, Future Gener. Comput. Syst..

[12]  Pedro A. Castillo,et al.  Jeo: a framework for evolving objects in java , 2001 .

[13]  Reuven M. Lerner At the forge: assessing ruby on rails , 2006 .

[14]  Ray Paton,et al.  JavaSpaces - An Affordable Technology for the Simple Implementation of Reusable Parallel Evolutionary Algorithms , 2004, KELSI.

[15]  A. Barabasi,et al.  Parasitic computing , 2001, Nature.

[16]  Luis F. G. Sarmenta Sabotage-tolerance mechanisms for volunteer computing systems , 2002, Future Gener. Comput. Syst..