Berkeley Open Infrastructure for Network Computing - a way to share in scientific research.
"Use the idle time on your computer to cure diseases, study global warming, discover pulsars, and do many other types of scientific research." - BOINC website
I've recently started fighting cancer on a new front. As you may be aware, my dear wife was diagnosed with breast cancer in February 2005. We had not long fallen in love through E2, met twice (in California and our handfasting in England) become engaged and decided to marry. The cancer changed all that, and we went to Plan B, which was a hurried decision for me to drop everything in England and move to the US.
Now cancer is a most unwelcome guest, and the treatments are Inquistionally awful. Having been supportive of her through over five years (six treatments of various kinds for metastases), I decided to fight back in another way. I stumbled upon a project that was using volunteer's computers around the world to carry out calculations that would support better diagnosis and treatment of solid cancers. All I had to do, I read, was to download a small program, create an account, and behold, I would be assisting in the war against the turncoat cancer cells. I got it. After all, this would be using my CPU when I wasn't, doing useful research that meant something to me, interested me and made me feel I was contributing. So now I am part of a new Internet/computing phenomenon - volunteer computing (or grid computing or distrubted computing, take yer pick).
The "grid" used a system known as "BOINC". In simple terms, BOINC is a way for any computer user to contribute to many kinds of scientific research. Anyone can download and install a small program, which enables a user to run science projects on almost any computer, using idle CPU time. It relies on the fact that most modern computers are running at well below their capacity for most of the time. If you are surfing or using productivity software, then the vast majority of your processor's capability is going unused. The software allows linked applications to use the CPU when you aren't, and do some valuable research work in many different areas of science, mathematics and medicine. And then some.
From the user's point of view, you download a small client that enables you to connect to one of dozens of projects and do intensive calculation work on their behalf. The client downloads small chunks of data ("work units"), processes them, and sends the results back. In return, you receive points, rather like XP. From the project's perspective, they are spared the enormous expense of using a supercomputer to crunch vast amounts of information. They break it up into smaller pieces that they then distribute to personal computer users, then integrate the results as they come back.
A Little History
BOINC sprouted from an early distributed "grid" computing project, SETI@Home, which was searching results from the Arecibo Radio Telescope for signals that might indicate extraterrestrial life. The program suffered many problems, not least of which was a security problem, that allowed those participating to cheat when reporting completed work, often by returning falsified or inaccurate results. The project was based at UC Berkeley, and in early 2002 the Berkeley boffins set about creating software that would get around this problem. by April they had a system that worked, by enforcing security and honesty through redundancy validation checks. It was released as an open source project, and the waiting began.
Soon, other distributed computing projects began to sit up and take notice, and many developed BOINC-based programs. The first was Predictor@Home, which set out to predict protein structures for medical research. Other projects became involved, and at the time of this writing there are dozens of such projects, ranging from serious science (research in the areas of medicine and human biology, physics, chemistry and mathematics) to the curious (solving chess problems, for example).
The majority of projects are in the hands of universities, who have declared interest in making their findings public. Some businesses (pharmaceuticals come to mind) may use BOINC to do research and not share. This is clearly not a Good Thing, and many people joining new projects are careful to pick those that will be truly informationally open. but it is not just the Big Guns who have taken up the challenge. The FreeHAL@Home project is run by a high school student in his spare time, that "generates and converts fact and relationship databases" for an open-source conversational chatbot. (Sadly the project is closed for now, so that Tobias can do his final exams).
Finally, with the release of the NVidia CUDA programming interface, even your graphics card can get in on the action. As "regular" supercomputers are being developed using the parallel processing of modern graphics cards, so many BOINC projects have done the same.
These days, all the people around the world are contributing time that amounts to 4,164 TeraFLOPS. Truly, a supercomputer, one we can all share in.
So, Why Should I Care (or, How Can I Help)?
Well, of course you needn't care if you don't want to. But grid (volunteer) computing is here to stay with us. The idea is not, after all, new. That breaking of big problems into little ones works, has been proven many times. the Internet has enabled such things as Project Gutenberg to take flight. Wikipedia, of course, is another example of collaboration producing big things, and E2 in its own way is another example of people clubbing together, giving a little, and gaining a lot.
There are many and various problems that grid computing can solve. From the original search for ET through the many protein analysis projects, the multitude of mathematical discoveries to be made. Then there are problems in physics, chemistry, language processing, ecology, climate research. Distributed rendering and computer art. The list grows and grows, and there is probably something for everyone in there. Making a full list would be futile, as the field is quite dynamic, changing all the while.
If you do decide to join the fight on any front, download the client (link below) - it eases you into the process, and you may join projects within the software interface. There's no definitive list of available projects, but there are pointers here and here. If you want to get a full and up to date list (as well as an easy way of joining projects), sign up for the BOINC Account Manager, they have the best list of what's available. If you do decide to go ahead, please join up (or start) an E2 team at each project you run.
So enough about that. What am I doing? Well on E2 I have made a small start, setting up a usergroup for those interested in volunteer computing. BOINCers is fairly small now, but coming along. Feel free to join us. There are "Everything2 Noders" teams on each of the projects I'm involved with, and those projects are many and various. My computers work for about a dozen projects, from the aforementioned cancer research through protein research, biochemical research, drug/protein analysis, earth sciences and even the language processing. But my heart is in the treatment of disease, the human side. So I continue to fling bits around in the hope that one day, someone will benefit. And I feel good about that.
A Short FAQ
|Will I be able to run it on my computer?
||Almost certainly. Most projects have Windows applications, many have both Linux and Apple apps too.
The very newest projects are designed with the newest computers in mind, and some have restrictions on CPU and memory, but this is usually mentioned in the documentation.
|How long does it take to do work?
||This varies from one project to another. Some have short work units that complete in around 30 minutes, most take a few hours, and a few can take days! It depends on your computer's speed and memory and whatnot.
|Do I have to leave my computer on all the time?
||No, you do not. If you choose to, then obviously you may (and many do!) but the work still gets done in those inbetween times. That said, if you only switch your computer on to pick up emails and then power down, it may not be worthwhile running BOINC. It needs at least an hour or so a day to process work units before their deadline.
|Is it safe?
||Yes. If you are thinking in terms of trojans and security, well again there's no issue. The BOINC software does not allow access to your system, just BOINC projects.
|No, I meant "will my computer overheat and blow up?"
||Oh, I see. Unlikely. Your computer has failsafes to protect against overheating. Modern PCs throttle down the CPU multipliers if things get too warm.
You can also set the software to take only a proportion of your CPU time.
|Will BOINC will use more power, by virtue of my system working harder?
||Frankly, yes, it will. Depending on where you live and your power costs, it will add a few dollars (or pounds, euros...) to your power bill. It would only become really noticeable if you had dozens of machines running at 100% capacity. TANSTAAFL, and this is part of your commitment to science. Consider it a small charitable gift.
|Well, I may have more questions later...
||That's fine. I'll handle any questions, or the folk at BOINCers.
alex reminds me that distributed.net was doing this kind of computing long before SETI. While they do a little something using a BOINC wrapper, they also continue to support and develop their own propriety software at http://distributed.net.
Download client at http://boinc.berkeley.edu/download.php
Join Boinc Account Manager at http://boincstats.com/bam
Projects using graphics cards