Volunteer Computing in the Background

Brian Choc, 10/30/2007

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:


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.

boinc-1.jpg
Click "Next >" to get past the intro screen.

boinc-2.jpg
Review the License Agreement and, when ready, click "I accept ..." and then "Next >" to move on.

boinc-3.jpg
The default installation directory is probably fine, but select a different directory if necessary.

At this point, the "Lab configuration" will diverge from the standard home-user setup.

boinc-4.jpg
Selecting either of the first two options will result in a standard user-level installation. Instead, select "Service Installation" then click "Next >".

boinc-5.jpg

The username and password on this screen will be used only for installation of the service. Both boxes should generally be unchecked.

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 >".

boinc-6.jpg
Just say "No".

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.

boinc-7.jpg
Click "Install" to get started.

boinc-8.jpg
Waiting ...

After a few seconds you should see "Error 1920. Service BOINC ..."

boinc-9.jpg
This is normal.

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.

boinc-10.jpg
Go to the start menu and then "Run...". In the "Open" dialog box type "services.msc" and then click "OK".

boinc-11.jpg
A "Services" window will open up and on this list, probably about eight to ten spaces down, should be BOINC. Right-click on BOINC and select "Properties".

On the "General" tab, just make sure "Startup type:" is "Automatic" (it should be already). Ignore the "Dependencies" tab.

boinc-12.jpg
On the "Log On" tab select "Local System account". This way, instead of assigning a regular user the ability to log on as a Service, a pre-existing system account designed for the purpose – and also not affiliated with any one user – is assigned to run the BOINC Service.

boinc-13.jpg
On "Recovery" tab change all "Failure" drop-downs to "Restart the Service" and "Reset fail count after" and "Restart service after" to 1 day and 1 minute, respectively. Other settings are certainly acceptable, but this is a reasonable approach to handling any failures.

Click "OK".

The "Error 1920" window should still be on-screen. Click "Retry," and after a moment the installation should complete successfully.

boinc-14.jpg
You're basically home free. Leave "Launch BOINC" checked and click "Finish".

Configure the Client

From this point forward, the configuration flows like a standard BOINC setup. This is straight-forward, but included for completeness.

boinc-15.jpg
Click "Next" to move on past the intro screen.

boinc-16.jpg
Given a functioning Internet connection, a list of projects should populate the screen. If the list is not available for any reason, type the URL of the project's home page. Again, for our example we are using World Community Grid, so the URL is http://www.worldcommunitygrid.org.

boinc-17.jpg
Waiting . . .

boinc-18.jpg
Upon successful connection to the project, enter the username and password associated with the BOINC project account (not the Windows username and password).

boinc-19.jpg
If the username and password are correct, a confirmation should appear after a moment. Click "Finish".

boinc-20.jpg
The BOINC manager will launch, calibrate itself to the system, and begin a project download.

boinc-icon.gif

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.

boinc-21.jpg
However, a look at the Task Manager confirms that the BOINC project is running. In this example, the process beginning with "wcg_" indicates a World Community Grid project is running in the background. Nomenclature will vary for other projects.

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.

Comments

:]

thank you so much.
i've really wanted it.

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

Post new comment

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <h2> <h3> <h4> <h5> <h6> <address> <em> <strong> <small> <big> <code> <del> <blockquote> <q> <sub> <p> <br> <ul> <ol> <li> <dl> <dt> <dd> <a> <b> <u> <i> <sup> <pre> <img> <table> <tbody> <td> <th> <tr> <dt> <dl> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions. By entering the words in the box, you are also helping to digitize and preserve texts that were written before the computer age.