BOINC is a distributed computing platform created at the University of California, Berkeley which uses idle CPU and GPU cycles to crunch data for various mathematical & scientific projects.
I first became interested in distributed computing with BOINC's predecessor, SETI@home. SETI [Search for Extraterrestrial Intelligence] searches the skies in various wavelengths/frequencies of the electromagnetic spectrum in the hopes of finding a signal that might be of artificial / intelligent origin. This is a monumental task! There is a whole lot of galaxy out there and a wide range of frequencies that signals might be visible on.
Many radio frequencies penetrate Earth's atmosphere quite well, led to the invention of radio telescopes that investigate the cosmos using large radio antennae. Furthermore, human endeavours emit considerable electromagnetic radiation as a by-product of communications such as television and radio. These signals would be easy to recognize as artificial due to their repetitive nature and narrow bandwidths. If this is typical, one way of discovering an extraterrestrial civilization might be to detect artificial radio emissions from a location outside the Solar System.
The sheer volume of data that is recorded from even just one radio telescope every day is phenomenal, and not even the most advanced supercomputer would have a chance of keeping up with analysing all of this data to look for interesting signals worthy of further investigation. The solution that the boffins came up with was to break this analysis down into much smaller chunks and use the power of the Internet to distribute these small tasks to volunteers who were willing to use their computers for the task. A million standard-spec home computers can easily and cheaply do the work of a top-of-the-range supercomputer. The SETI@home application was born and first released in May 1999.
Volunteers from all over the world could download and install the small SET@home application which would communicate with the main server at U.Cal to retrieve new work units, crunch through the data, and submit the results. Since the application ran at a low priority, it didn't slow down any other applications running on the computer [that were at a normal priority or higher] and only used "spare" CPU cycles that would have otherwise been wasted as idle time.
At the time I was just finishing college, and my interest in the sciences and the SETI programme was very high indeed. As soon as I heard about the SETI@home application I loved the idea of it, and in December of 1999 I downloaded the application and haven't looked back since.
The SETI@home application was not perfect. Although the intention was purely for reasons of science and altruism, users were granted credits as a measure of how much work they had completed for the project. And with this comes natural competition: a desire to be amongst the highest contributors. And with this, sadly, comes the temptation to cheat the system. The application hadn't been set up to tackle this, and before long accounts were getting loaded with fake credits, and worse some results that were being returned were false - damaging the good science work that 99.9% of the other volunteers were contributing to.
The "volunteer computing" idea was proven to be a massive and complete success, and after a few years the time came to ramp this up a notch and make improvements to the security of the application and the quality of the results returned from the volunteers. In 2002 the BOINC platform was launched, which not only took care of the above issues with better security and result validation but opened up the distributed computing platform for any number of other projects that would benefit from using spare CPU cycles in exactly the same way.
Since BOINC was launched, dozens of projects have used the platform - many of which produce regular science papers for peer-reviewed journals based on the results produced. Several of the projects also now have applications tailored to use not just the main CPU but also the GPU - which can be up to 200x faster than a CPU at completing some of the complex floating-point arithmetic that may be required.
More detail on the projects that I am interested in and currently contributing to can be accessed through the page navigation.