Let’s do a little exercise: if you’re on a Windows machine, hit ctrl-alt-del and get to your Task Manager. Now, look at your CPU usage graph. Chances are, if you are just browsing the web or running a few office programs, your processor is probably only running at 10% capacity or less. As Moore’s Law has continued its inexorable march, the memory and processing power of even the most bare-bones PC has outstripped the needs of most of the software that a typical user runs during a typical day. Even if you do run a lot of hardware-intensive programs, you can’t sit at your computer 24 hours a day (if you do, may I suggest a nap, or a shower?) While you are on your lunch break, your computer is still running twiddling its binary thumbs and sucking up electricity waiting for you to give it something to do. So what do you do? You could downgrade your hardware (ha!) or you could turn off your machine whenever you aren’t using it, but that’s a big hassle, and if we weren’t lazy, we wouldn’t need all this technology to begin with. Instead, why not donate those extra cycles to a worthwhile cause? Distributed computing is a way of solving a big computational problem by dividing the work among many different computers, each one working on a small chunk of the data. In the past, research on these types of problems depended exclusively on million-dollar room-sized supercomputers. Now with enough volunteers and a well designed algorithm, almost any problem can be tackled. Below are a few popular distributed computing projects. For each one, we have set up a GeekDad team that anyone is welcome to join. If there are other projects out there that you like, mention them in the comments.
This is one of the older projects out there. Anyone with proper greek cred should have heard of the SETI Institute. If not, let me first compliment you on the lovely rock you have been living under. The Search for Extraterrestrial Intelligence is pretty much what it sounds like. Using a vast array of radio telescopes at various observatories and labs around the world, SETI scientists are trying to detect signals of intelligent life from outer space. The problem with outer space, of course, is that there is a lot of it and signals from ET, if they exist at all, are likely to be rare. That means collecting mounds of data from many telescopes, most of which is probably going to be noise. Think of it as trying to find a needle in a haystack the size of Mt. Everest when you’re not even sure that there’s a needle in there or even if there is such a thing as needles. That’s where you and SETI@Home come in. The program downloads a small chunk of radio telescope data to your computer and looks for the tell-tale signatures of non-natural signals that don’t originate from Earth. Be honest: if intelligent beings from another planet decide to call us, don’t you want to be the one that answers the phone? (join team GeekDad)
Quick biology lesson: every cell of every living thing on the planet is made, in part, of proteins. Also, almost everything a cell does depends on the interactions among different proteins and among proteins and other molecules. When a virus infects a cell, it needs to bind to proteins on the cell surface. If a chemotherapy drug is going to kill a tumor, it needs bind to a protein made by the cancer cell. So, knowing the shape of a protein is very useful for understanding the function of that protein and designing drugs to interact with it. However, a protein is just a long chain of smaller molecules called amino acids, and the protein shape is determined by how that chain folds up on itself. The problem is that there are an infinite number of ways to fold a given amino acid chain but only one shape is going to be correct. You can use a computer model to figure out the right shape, but with all of those configurations, it takes a lot of computing power to sift through them. The Folding@Home project at Stanford University, has your computer calculate the energy state of various configurations of a protein looking for the most favorable one. Ultimately, this approach should lead to the design of new drugs and new insights into the inner workings of cellular life (P.S. there is also a Folding@Home client for the PlayStation 3) . (join team GeekDad)
This one is focused on the same problem as Folding@Home but it is not technically a distributed computing project. Rather than using your spare CPU cycles, it uses your spare brain cycles (see this Wired.com article for a complete description). The theory behind Foldit is that, while computers are good at sifting quickly through large amounts of data, the human brain is actually more efficient at solving problems like this because of our intuitive abilities. So, by turning the problem into a game, users can tweak and wiggle amino acid chains until they get it into the most favorable configuration possible. The ‘puzzles’ are computer models of actual proteins that are involved in human disease. The ‘solutions’ that players come up with are then used by researchers to work out the actual protein shapes and thus come up with drugs to interact with them. (join team GeekDad)
World Community Grid is actually several distributed computing projects in one. Sponsored by IBM, the group takes proposals from researchers studying problems that can be approached from a computational model. All of these projects are then available for Grid users to contribute their CPUs. The list of projects changes from time to time as old projects are completed and new ones are added. It covers everything from cancer treatments to clean energy technology to developing rice plants with increased yields. You can pick and choose which projects you want to contribute to or contribute to all of them at once. The server automatically sends data for whichever project needs work when your machine is available. World Community Grid and SETI@Home both are both handled by a program called BOINC which is also a platform for many other distributed projects. (join team GeekDad)