Making the world a better place, one bit at a time.

6th
OCT

Volunteer Computing

Posted by garyhsieh under volunteer computing

Volunteer computing uses user-donated computing resources to tackle large-scale tasks and problems. Instead of leaving the computer idle, participants can donate their CPU time to good causes. An example of volunteer computing is the Berkeley Open Infrastructure for Network Computing, BOINC, which was developed to support SETI@home. For those who are unfamiliar, SETI@home uses home computers to help detect intelligent life outside of earth. Combined, BOINC boasts about 1.8 million total users, 300,000+ are currently active.

Is volunteer computing a type of prosocial computing? The answer is yes because it enables people to contribute in a way that they were unable to previously. For a project like SETI@home, the only requirement is a computer with internet connection, 20 MB of free disk space and 64 MB of RAM and a quick installing. Then, just by leaving on the computer, like many users typically do, the computing cycles can make a difference.

There are many online resources on volunteer computing (e.g. here, here, and here). But the question I want to focus on is why don’t more people participate? These projects are for interesting causes that most people would care about, such as finding extraterrestrial life. Additionally, the upkeep costs are minimal and require no human effort. But I think there are two main problems with how volunteer computing is currently set up. First, there is an initial startup cost. People need to download and install the software plus they may be skeptical about research software and are worried about “losing” control of their computers. But another problem is that since volunteer computing is used to tackle large scale problems, there may be no immediate, tangible reward that can offset the startup cost.

Here’s a thought. What if we shift the burden of using idle computing cycles for good causes to commercial software companies? Imagine that by default, your operating system will detect if you are using the computer, and if not, it would donate the computing cycles. This would certainly remove the startup cost for volunteer computing. But what would this take? And are there drawbacks?