Client grid computing is a popular approach to leveraging the large number of idle computing resources. Well-known efforts such as SETI@Home (http://setiathome.berkeley.edu) and World Community Grid (http://www.worldcommunitygrid.org) are excellent examples of organizations leveraging well-defined client grid platforms (also, BOINC (http://boinc.berkeley.edu) and Univa UD (http://www.univaud.com/products/grid-mp)) to assign, distribute, calculate, and return results on massively parallel, and often redundant, computations. Evolution@home is a similar system that also leverages donated computing power; however, Loewe introduces an interesting twist, allowing participants to select the type of work units on which their computer will work.
Typically, participants of client grids download a client installer, register with the organization, and are provisioned a computational work unit to process. Users are often able to control how much of their computer’s resources to dedicate in terms of central processing unit (CPU), disk space, and random access memory (RAM). The work unit provided to the client is controlled by a central system that keeps track of which work units have been sent to which clients, and which units are completed. Centrally managed work unit distribution addresses any variety of statistical requirements. While the popular client grid platforms allow for control and flexibility, it comes at the cost of considerable effort and commitment. In many ways, building a successful client grid application requires all the responsibilities of commercial software delivery. Both the client platform and the client code performing the calculation and any visualization need to be robust. Any mistake in the calculation could easily render clusters of computation irrelevant.
All by himself, Loewe was faced with the challenge of trying to leverage a client grid to compute Muller’s ratchet. The other client grid initiatives mentioned have had teams of scientists, developers, architects, and project managers. These initiatives tend to be nontrivial, even in the simplest cases. Yet, Loewe was able to pull together the basics allowing him to distribute work units, while simultaneously exploring an interesting space: instead of controlling what is run on a participant’s machine, empower the user to select the contribution.
A quick review of the findings show that the participants that were dedicated to completing tasks did so with high reliability. Across participants, their work unit selection was uniform. Loewe noted that the usability of the simplest client grid offerings could inhibit a participant’s ability to perform some tasks. In conclusion, scientists with limited resources and the desire to get results quickly may benefit from this approach to client grid computing. If, however, one’s needs are not as constrained, it makes sense to choose the path of automation and robustness. More often than not, successful initial prototypes demonstrate their value, but are hastily discarded in the journey to deliver the real solution.