The Power of a Volunteer Computer Network
Your computer's idle time can help scientific research. Find out how to contribute it to one of the world's largest supercomputers.
Join the DZone community and get the full member experience.Join For Free
In recent years, there’s been a trend for students with a computer, and some technical know-how, to make passive income by mining cryptocurrency in their college bedrooms. These days, mining is the preserve of a just a few industrial-sized companies, but there are other things you can do with your spare computing power. In a separate article on Hacker Noon, I recently discussed how to make money from your computer while it’s idle, but in this article, I’m going to talk about donating your spare processing power to help science. This is known as volunteer computing.
What Is Volunteer Computing?
The basis of volunteer computing is that many research institutions do not have the funding to access the large-scale computing they need. Buying a server cluster, leasing time on a supercomputer or using a commercial cloud provider are beyond the reach of their funding. Instead, the institutions turn to a type of distributed computing in which the spare computing resources (processing power, storage, and Internet connection) of individual computers are combined to assist research. In volunteer computing, a problem is divided into many tasks, each of which is solved by multiple computers at once. Computations that would take years to run on an ordinary machine can be processed in days.
As the name suggests, volunteer computing is unpaid and you donate your computer’s idle time to research projects that need to borrow computational power to enable their research. Desktop computers, laptops, tablets, and mobile phones can all be connected to form a powerful virtual supercomputer.
The first volunteer computing project was initiated in 1996 and was known as the Great Internet Mersenne Prime Search (GIMPS). Volunteers donated computing power towards the mathematical calculations necessary to find Mersenne primes.
In 1999, the SETI@home project was launched, and has since seen millions of users donate idle computing power to help analyze radio signals searching for signs of extraterrestrial intelligence. SETI is now based on the Berkeley open infrastructure for network computing (BOINC) platform, created at the University of California, Berkeley in 2002, and the dominant platform for volunteer computing. BOINC is also behind a number of projects such as pulsar identification, the creation of patient-specific cancer treatments, and research to determine the 3-dimensional shapes of proteins—work that might ultimately lead to finding cures for some major human diseases.
BOINC currently reports over 30 active projects (a full list is available here) and more than 600,000 active computers at any given time and is considered to be among the top five largest processing capabilities on the planet when compared with individual supercomputers on the Supercomputer TOP500 list.
The BOINC framework is based on a client-server architecture. Once the BOINC client software is installed onto a machine, the server starts sending tasks to it. Calculations are performed on the client computer and the results are uploaded back to the server. The client will routinely contact the project’s servers to request jobs, while the project server keeps track of the individual client’s "credit" to measure how much work it has done for the project. Here's a graphic from BOINC that illustrates how it works:
Image from “How BOINC Works.”
One of the projects running on BOINC is the World Community Grid (WCG), which is an umbrella project that supports a group of non-profit research organizations. The WCG has been running for over a decade, during which time it has supported a number of projects and returned significant results, such as the discovery of a way to destroy neuroblastoma cancer cells without side effects. It currently includes the Microbiome Immunity Project, Smash Childhood Cancer, and Outsmart Ebola Together, and others. As I wrote this article, for example, my laptop was working with WCG on the FightAIDS@Home project.
WCG is a virtual supercomputer, which launched on November 16, 2004. Its statistics are impressive — there are now more than four million devices involved, and 750,000 people donating processing power. So far, over 1.6 million years of computing time have been donated.
If you sign up to donate idle computer time to a volunteer computing project on the BOINC platform, there are a few things you need to consider:
You are placing trust in the project to provide software that won’t invade your privacy or cause damage to your hardware. The BOINC team are keen to point out that they ensure each project is tested to guard against security vulnerabilities.
You have to trust the project to be truthful about the work that your computer is doing, and about how the resulting intellectual property will be used.
BOINC runs the jobs on your computer invisibly, in the background, only making use of processing power that would have otherwise have been wasted. A modern desktop computer is sufficiently powerful to perform billions of operations a second, but typically only uses between 10-15% of its capacity. Even when you are using it for basic word processing or web browsing, it is mostly idle, so BOINC will use the extra capacity. However, for older machines, an added load on your CPU can cause it to overheat, and extra work may sometimes impact the performance of your computer.
To get started with volunteer computing, you simply choose a project, download BOINC (for Windows, Mac, Linux or Android devices), enter an email address and password and off you go. There’s a great 10-minute guide on how to get set up here, which explains how you can customize the BOINC client if you want to limit the amount of disk space and processor power it uses, or determine the time of day that it starts running.
What About Citizen Science?
Volunteer computing is a passive activity: computation is performed by your computer and you don’t need to get involved beyond the initial work of setting up your computer to run the necessary calculations when it would otherwise be idle. But, of course, you don’t just have to sit back; you can get involved too! Citizen science makes use of collective intelligence contributed actively through a network of computer users eager to assist in research in their own way.
One of the early Internet-based citizen science experiments was NASA's Clickworkers, which enabled the general public to assist in the classification of images, greatly reducing the time to analyze large data sets. One of the largest citizen science games is Eyewire, a brain-mapping puzzle game. Other popular games include Foldit, and Google’s Quick, Draw! for machine learning research.
If those games don’t look appealing, and you want to get involved but are not sure where to start, check out the Zooniverse, which is home to the Internet's largest, most popular and most successful citizen science projects. Take a look and dive into some scientific research!
Opinions expressed by DZone contributors are their own.
An Overview of Cloud Cryptography
Decoding ChatGPT: The Concerns We All Should Be Aware Of
Building the World's Most Resilient To-Do List Application With Node.js, K8s, and Distributed SQL
The Role of Automation in Streamlining DevOps Processes