Volunteer Computing in the Background
A Little Background
Volunteer computing is a form of distributed computing in which computer owners donate their computer's resources to collaborative projects. The first project of this nature dates back to 1997, but in 1999 both SETI@home and Folding@home really gave the idea traction with the public.
Today, an ever-increasing number of individuals, organizations, businesses, and academic institutions find volunteer computing projects to be a meaningful, yet low-effort, social responsibility initiative . . . or simply an easy way to effect positive change in the world.
The purpose of this article is not to introduce volunteer computing, so if you would like to learn more, consider:
- Wikipedia - Volunteer Computing
- Wikipedia - Distributed Computing
- BOINC - Volunteer Computing
- World Community Grid - Active Research
- Responsible IT Forum
In the Lab and in the Office
For an individual, the choice to run a volunteer computing project is extremely simple: find an interesting project, download the software and install it, and then let the computer while away its idle time crunching numbers. Many projects operate in a “screensaver mode,” so the computer, when doing its volunteer work, displays relevant and presumably interesting graphics.
For an organization or business, however, it is rarely so simple. In my experience, there are generally three hurdles to implementing a volunteer computing project: 1. bureaucracy, 2. technological FUD, and 3. workstation configuration. This article is going to focus on a very specific aspect of the third point.
Office computers, and to an even greater extent computer labs, are excellent candidates for volunteer computing because these machines generally experience a great deal of idle time; however, it is often the case that there should be minimal visibility and user interaction. To this end, I will take you through a configuration of the BOINC client (the most popular volunteer computing platform) which will:
- Run on Windows (tested on XP and Vista) without the end-user administrative rights (you will need administrative access for the installation, of course)
- Not change the user's screensaver or effect other visual changes, so the end-user won't even know it's there
- Run regardless of whether someone is logged in (provided the computer is turned on, of course)
- Take about five minutes to set up
This configuration is ideal for smaller organizations and computer labs but also suitable for home users. (Linux and Mac users can accomplish a similar configuration by installing the service as a Daemon. Visit Berkeley for instructions.) There are many screenshots to ensure this is as straight-forward an affair as possible. Allow yourself about 15 minutes the first time.
Volunteer Computer in the Background
Getting Started
The first step is to visit the homepage for the project of your choosing. This article will use the World Community Grid as an example throughout, so I have included that link here, but the process should be the same for any of the other BOINC projects (currently, there are 21 to chose from). You will need to establish a username and password with your project. This is typically quick and easy.
After setting up a username and password, the second step is to download the most current release of the BOINC client*. As of this writing, the current version is 5.10.20. A newer version should be fine, but if you have a version prior to 5.10.x, upgrading is very strongly suggested.
Download the client here http://boinc.berkeley.edu/download.php.
(*Note: some projects may offer a project-specific client. I generally recommend using the general BOINC client.)
Install the Client
Not surprisingly, the next step is to run the client installer. Simply double click on the icon: boinc_5.10.20_windows_intelx86.exe, or similar, and you will be presented with the first installer screen.
At this point, the "Lab configuration" will diverge from the standard home-user setup.
It is necessary to enter a username valid on the computer; this can be a domain username or a local username, but it does need to be valid. In contrast, the password does not need to be valid (but can' t be left blank). In the next few steps, the execution of the BOINC service will be reassigned to a different user, so the username and password entered here will only be needed for installation purposes. If this makes little sense now, don't worry. Also on this page are two checkboxes that should be unchecked to minimize BOINC's visual presence. The first, obviously, will leave any current screensaver settings intact. The purpose of the second is less obvious; it actually refers to launching the BOINC Manager when logging on. If unchecked, BOINC will still run in the background but the BOINC Manager icon will not load into the tray. To minimize visual impact, this should be turned off. Click "Next >".
Granting "the selected username permission to 'Logon As a Service'" would give the selected account rights which are generally not necessary nor even particularly efficient in this situation. Therefore, this username will only be used for installation purposes and should not be assigned any special permission.
After a few seconds you should see "Error 1920. Service BOINC ..."
The Error 1920 occurs because the user does not have permission to "log on as a service" (That "No" from a moment ago). DO NOT click "Cancel", instead just ignore the error box for now.
To resolve this entirely expected error, the BOINC service must be assigned to an appropriate account. It's time for a little detour.
On the "General" tab, just make sure "Startup type:" is "Automatic" (it should be already). Ignore the "Dependencies" tab.
Click "OK".
The "Error 1920" window should still be on-screen. Click "Retry," and after a moment the installation should complete successfully.
Configure the Client
From this point forward, the configuration flows like a standard BOINC setup. This is straight-forward, but included for completeness.
For the moment, the BOINC icon will appear in the Tray because the BOINC Manager is running. Upon reboot, the Manager does not auto-load and will not reappear unless you run BOINC Manager from the Start Menu. Removing this menu is an optional final step for most thoroughly hiding the BOINC application.
Conclusion
While the process appears to be lengthy, it truly takes only about five minutes once it's familiar. The copious screenshots, while hopefully helpful, add to the illusion of great length.
This approach to BOINC installation makes volunteer computing almost entirely transparent to the end-user. One down-side to this approach is that by hiding the project from the end-users, the end-user has no chance to develop any interest of his or her own and thus, reduces further spread of the project. The office or lab environment should dictate whether this installation method, or a more standard one, is the best approach.
If there is interest, I will follow this article with others focused on volunteer computing in small- to mid-sized organizations and businesses. I would appreciate any feedback or questions.
Brian Choc is Webmaster, Newsletter Editor, DBA, and general Tech Guy for T4T Colorado. Brian is also tired.





















BOINC over other client s
I have been using another client for my participation in the grid and this is a much better way of doing this. Thank you for sharing Brian.
Peace,
Steve
:]
thank you so much.
i've really wanted it.
(Y)
I haven't tried this before, great post and inspired me on doing the same.
thanks,
Medical Job Australia
Post new comment