Disease Blaster 2000

Our bodies are made up of, among other things, a large array of proteins. The creation of those proteins is directed by our genetic code — the instructions encoded into our DNA as a long string of nucleotides, groups of which specify particular amino acids to be used in protein construction. Since the human genome has now been mapped, one might be excused for thinking that we would have an excellent grasp on the proteins in our body and their function at this point.

The problem is that proteins don’t come off the cellular assembly line and remain a long, snake-like string of amino acids. Instead, they fold up after they’re produced into a structure that determines what role they can fulfill. When this process works correctly, one ends up with useful enzymes, antibodies, and other vital biological machinery. When it goes awry, the malformed proteins can cause diseases like Alzheimer’s, Mad Cow, Huntington’s, and cancers.

This folding process, while near-instantenous, is mathematically incredibly complex, as it involve simulating all the intermolecular forces at work over the length of the amino acid chain. In fact, to simulate the folding process of a single protein would take about 30 years using the computer that’s sitting on your desk.

So, is simulating protein folding impossible without giant supercomputers or decades of time at your disposal? Yes, absolutely. However, the clever folks at Stanford have realized that a giant supercomputer doesn’t need to live all in one place, but can be cobbled together out of a whole pile of machines connected over the Internet. It was this realization that led to the birth of the Folding@Home project.

Folding@Home allows volunteers to install a screen saver which, when their computers are idle, will download bits of a protein folding simulation and work on it until the computer’s user needs it again. It periodically sends the results back to Stanford where they are aggregated and used to further the biological research that’s going on there. The project has been going on for several years now, and has yielded a great deal of useful data, though it remains constrained by the amount of computing power available to work on these complex simulations.

The recent interesting news in this area is that Sony and Stanford have developed a Folding@Home client for the new PlayStation 3 console so that its computing power can be harnessed and contributed to Stanford’s distributed computing cluster. While it was being developed, Sony touted the PS3’s cell processor as more powerful than a PC, and it does appear to have the most computing power of the next-gen game consoles. While a standard computer switches between tasks rapidly to create the illusion that it can do more than one thing simultaneously, the PS3’s 7-core processor can actually work on several tasks at once, further enhancing its potential number-crunching advantages.

So, do the Folding@Home statistics bear out Sony’s claims? Check out these numbers from the statistics page (a TFLOP is 1,000,000,000,000 floating point calculations, like “5.5รท22.3”, per second):

OS TFLOPS CPUs
Windows 157 164,708
Mac 17 12,370
Linux 44 25,647
PS3 373 28,508

To bring that home a bit more clearly, I divided the number of CPUs by the TFLOPS Folding@Home reports to give an idea of how many TFLOPS each computer of each type is contributing and graphed the results:

So, the PS3 is contributing more than 6x the computing power per machine than Linux, the next closest operating system. Now, admittedly, there are going to be a lot of older machines in the other platform’s statistics, where all the PS3s are obviously of recent vintage, but this still seems a win for Sony. More importantly, it’s a huge boost for Stanford, which has more than doubled the computing power of their Folding@Home cluster by writing a client for the Sony console. Kudos to Stanford, and to all of the generous PS3 users who have chosen to participate in this project.

Here’s a video on the subject from GameVideos.com (warning: salty language at the end):

If you’re interested in contributing to the Folding@Home project, you can do so by grabbing and installing a client from their download page.