Folding: The Death of the General Purpose CPU

A few recent articles have highlighted the disproportionate contribution Playstation 3 consoles are making to the Folding@Home effort. The OS statistics page for Folding@Home tells the tale:


This is a companion discussion topic for the original blog entry at: http://www.codinghorror.com/blog/2007/03/folding-the-death-of-the-general-purpose-cpu.html

Also, a gaming console like the PS3 isn’t being used most of the day, so it can use 100% of its capacity to fold all the time. A computer is likely to be used continually, and can only get some folding work done when it wouldn’t hinder the user.

Jeff, you mistyped “Core” instead of “Cell” in the first link.

This gap has always been there. ASIPs (and even more ASICs) have always outperformed general purpose CPUs by huge factors (in the ASIC case a very huge factor, but then that’s not exactly a fair competition). In lot of cases it’s actually quite easy to outperform modern general purpose CPUs with an ASIC by factors, even on old “cheap” technology.

For reference, when I had my Athlon X2 4800+ folding in the evenings from work (around 7pm - 8am), I achieved ~6,000 points per month.

http://folding.extremeoverclocking.com/user_summary.php?s=u=79665

Compare with the Maryland PS3 team:

http://fah-web.stanford.edu/cgi-bin/main.py?qtype=teampageteamnum=55312

Several users already have scores of more than 1,800 points, even though the PS3 folding client has only been available since Thursday, 3-22.

A little bit on electricity costs, eg, how much would it cost you if you left your PS3 or gaming PC on 24/7, folding?

http://www.codinghorror.com/blog/archives/000426.html

Our average in this area is 14.28 cents per kilowatt-hour, so…

200 watts * (8,760 hours per year) / 1,000 = 1,752 kilowatt-hours
1,752 kilowatt-hours * 14.28 cents / 100 = $250.18 per year

So folding all the time means you’re “donating” $250.18 each year to the folding project. Just FYI.

http://tomwritesablog.blogspot.com/2007/03/playstation-3-is-folding-up-storm.html
Just got to Digg. :frowning:

This is very definitely the dog’s bollocks. I was hoping the PS3 would rock, but I didn’t expect it to be providing the bulk of the project’s total flops this soon.

I disagree with your conclusion about CPUs being futile, though. Humble as my Athlon-64 may be, it is contributing more to the project with the F@h client running than it would be with the F@h client not running.

So? Those graphics cards outperform the CPU at graphics calculations as well.

I mean, it’s kind of interesting, but it’s an expected result - specialized processors perform better at what they are specialized for. It just so happens that folding is a similar type problem to graphics processing.

Hmm. Looks like F@H changed their TFLOPS calculation.

Right now it’s showing 520 TFLOPS for 30,253 active PS3s, which conflicts with the numbers I quoted last night: 659 TFLOPS for 26,911 active PS3s.

WTF?

it’s an expected result

In less than a week after the PS3’s folding client went live:

  • 4,000 PS3s equalled the computing power of the existing 160,000+ CPUs currently in the F@H network.
  • the PS3 now constitutes 73.3% of all computing power in the entire F@H network (note that this is up from 72.2% when I wrote the article, only a few hours ago)

That isn’t just an expected result, it’s an overnight sea change. We’re waking up in a whole new world for distributed computing projects.

Humble as my Athlon-64 may be, it is contributing more to the project with the F@h client running than it would be with the F@h client not running.

And with a $200 video card upgrade, you could be contributing 18.6 times as much :wink:

We’re waking up in a whole new world for distributed
computing projects.

Not really. We’re waking up in a whole new world where Joe Average has some serious stream-processing power. Give it two years more and every Intel / AMD PC will have a GPU capable of running Folding@Home. Then you’ll see some serious increase in the TFLOPS.

Whether the processing model that GPUs (and other stream-processing hardware such as Cell) provide can be used for distributed projects is still dependent on just what the distributed project is trying to do.

Put another way - I suspect Folding@Home was chosen over other distributed projects because it is a perfect match for the Cell processor, and not because it is the most distributed or something similar.

Either way - I think this proves that we can no longer limit ourselves to one processing model. Instead of trying to shoehorn everything into the one true model we have to provide multiple types of processing hardware so that algorithms can run on the most suitable hardware.

I thought I’d mention something rather important a lot of people seemed to miss:

From: http://folding.stanford.edu/FAQ-PS3.html
"What type of calculations the PS3 client is capable of running?"
…
“In a nutshell, the PS3 takes the middle ground between GPU’s (extreme speed, but at limited types of WU’s) and CPU’s (less speed, but more flexibility in types of WU’s).” [WU = Work Units]

I’m probaly wrong, but I think that means that there will be plenty of work for general-purpose cpus from folding@home that gpus and ps3s can’t cover; so saying that a cpu on the folding@home project is a waste of energy, may be true, but they probally need what cpus can do that gpus and cell can’t process very well at all.

Although I know nothing of it, it’s definately something to consider.

“For folding and other distributed computing efforts, it’s the death of the general purpose CPU as we know it.”

The general purpose CPUs days are numbered (at least for desktop machines) by the next attempt at AMD or Intel to grab the x86 technological lead and introduce asymmetric cores for x86 cpus. The question is at what transistor density/core count this becomes feasible.

“I mean, it’s kind of interesting, but it’s an expected result - specialized processors perform better at what they are specialized for.”

ATI X1900s are most definitely not specialized for protien folding, yet at the moment they’re the most powerful protien folders on the market. (Barring ASICs and $100K HPC clusers.) Your argument only applies to Cell, which was designed for HPCC from the ground up, not 3D rendering. It’s a vindication of, for lack of a better name, general purpose stream processing.

Apples and oranges.

GPUs and the PS3’s SPEs (aka Cells) are very fast at doing specific vectorized calculations seen in graphics, animation, physics, video, etc. But when it comes to generic programming, the vast majority of code, the CPU is still king due to its flexability.

Aside from GUI drawing, most applications won’t benefit from a GPU. Having a fancy video card won’t make Excel or Word run any faster.

However, many games, graphics/video applications, simulations can benefit greatly from a GPU.

While this is great news and all, it is absolutly no reason for people to stop using their cpu clients. The GPU/PS3’s are only capable of solving 1/8 of the total work units, the other 7/8’s of all work units need to be solved by cpu’s.

From what I understand (and I may be wrong) the PS3 clients can only process certain specific work units, and if that’s the case you’ll never be able to accurately compare the PS3 client and the PC client, because they’re not doing the same work.

So Jeff, are you folding?
At home?

The hardware was designed to stream large datasets to which you are doing a very similar set of instruction, with little to no branch prediction.

The particular instance of that type of problem it was aimed at was computer graphics.

I guess I would say that it was novel the first time someone realized that folding and computer graphics have that sort of similarity in how you solve them. Once someone realized that, though, I’m not surprised at all that it is faster on the GPU.

I don’t see how it makes the CPU obsolete unless all you are ever doing is attacking streaming type problems. If you try to do any sort of difficult computation involving lots of branches, a GPU falls flat on its face. I’ve heard similar issues with programming for the PS3 and Xbox - while the graphics are stellar, any ai and gameplay calculations take a huge performance hit compared to a normal CPU.

So… sorry to be all negative. It IS really cool how well specialized hardware does specialized tasks, and the degree of speed you can get out of them for that tasks… I’m just saying it’s not that unexpected, or why would you have that hardware to begin with?

If you’re interested in GPU folding, read on. According to this thread:

http://www.storageforum.net/forum/showthread.php?p=93429

The ATI X1950Pro offers the best combination of low price and lots of pixel shaders, which is the key determinant of folding perf.

They also recommend 512 MB cards, as non-gaming general video performance can be significantly hindered when GPU folding on 256 MB cards. Here’s a list of X1950PRO cards on newegg with 512 MB RAM:

http://www.newegg.com/Product/ProductList.aspx?Submit=ENEDescription=x1950pro%20512mbbop=AndOrder=PRICE

Not bad for under $200. Concidentally, these are the exact same cards I picked for the Hanselman Ultimate Developer Rig Throwdown.