Researchers using parallel processing computing could save thousands by using an Xbox
September 11, 2009
Dr Simon Scarle
(PhysOrg.com) -- A new study by a University of Warwick researcher has demonstrated that researchers trying to model a range of processes could use the power and capabilities of a particular XBox chip as a much cheaper alternative to other forms of parallel processing hardware.
Dr Simon Scarle, a researcher in the University of Warwick’s WMG Digital Laboratory, wished to model how electrical excitations in the heart moved around damaged cardiac cells in order to investigate or even predict cardiac arrhythmias (abnormal electrical activity in the heart which can lead to a heart attack). To conduct these simulations using traditional CPU based processing one would normally need to book time on a dedicated parallel processing computer or spend thousands on a parallel network of PCs.
Dr Scarle however also had a background in the computer games industry as he had been a Software Engineer at the Warwickshire firm Rare Ltd, part of Microsoft Games Studios. His time there made him very aware of the parallel processing power of Graphical Processing Unit (GPU) of the XBox 360, the popular computer games console played in many homes. He was convinced that this chip could, for a few hundred pounds, be employed to conduct much the same scientific modelling as several thousand pounds of parallel network PCs.
The results of his work have just been published in the journal Computational Biology and Chemistry under the title of “Implications of the Turing completeness of reaction-diffusion models, informed by GPGPU simulations on an XBox 360: Cardiac arrhythmias, re-entry and the Halting problem”. The good news is that his hunch was right and the XBox 360 GPU can indeed be used by researchers in exactly the money saving way he envisaged. Simon Scarle said:
“This is a highly effective way of carrying out high end parallel computing on “domestic” hardware for cardiac simulations. Although major reworking of any previous code framework is required, the Xbox 360 is a very easy platform to develop for and this cost can easily be outweighed by the benefits in gained computational power and speed, as well as the relative ease of visualization of the system.” However his research does have some bad news for a particular set of cardiac researchers in that his study demonstrates that it is impossible to predict the rise of certain dangerous arrhythmias, as he has shown that cardiac cell models are affected by a specific limitation of computational systems known as the Halting problem.
Provided by University of Warwick (news : web)



BAD
Use cheap off the shelf pc components, code in C. Nvidia ION boards + a couple budget pci-e geforce 8+ cards = less than cost of 1 360, better performance (more streams) and easier to code for.
This "do work on game console" hype has to end.
Plus, no RRoD issues.
Xbox 360 - $300 - GPU has 48 cores and 512MB shared memory
Nvidia Geforce GTX 260 - $170 - 192 cores and 900 MB dedicated memory
ATI Radeon HD 4870 - $150 - 800 cores and 1 GB dedicated memory
You can build a cheap Atom PC for $200. So, for $50-70 extra you can build a system with 3-16 times as many cores ready for parallel processing as an Xbox 360.
No one could seriously consider an Xbox 360 for large scale parallel processing systems.
Funny thing is, I only met a few people who actually did build a very superior computer. Most just bought off-the-shelf parts and stuck them together to make a computer that wasn't much different than what could easily be purchased. And of course, if something went wrong with their homespun computer -- no return under warranty, no free customer support, no free software upgrades. Such a deal!
Leaving that aside, with cute ideas such as using the Xbox chip, he's not looking at the long term. What happens when the chip is discontinued? What happens when the next chip model replaces features that are critical to this offbeat use he's invented?
Overall, it's just another unthinking nerd stunt.
Huh? All computer pieces come with a warranty, from motherboard to video card to hard drives or DVD. Most include replacement if defective and customer support.
What free software updates do you get from a PC manufacturer that you can't get yourself? OS updates are free, drivers are free, and most of the components come with any utilities you'd need for free as well. So, the only thing you wouldn't get would be any special software the PC manufacturers made for their systems, which isn't that big a deal and most people uninstall anyway.
"Huh? All computer pieces come with a warranty, from motherboard to video card to hard drives or DVD. Most include replacement if defective and customer support."
That's only if you can identify the fault. Only if the fault is one component, not problems between components.
Yesterday, for no reason, my Alienware desktop shut down without warning. It happens again? Alienware has hugely sophisticated diagnostics. I phone customer support, and say "Fix it". Problem solved. My experience with them in other situations is that it took maybe 30 minutes for them to fix a problem.
Unlike with a "home-built". No unanswered email from component manufacturers. No "Sorry sir, we subcontracted that part. Ha, ha you thought you were buying from a reputable source? Ha, ha, we lied.") No finger pointing from one manufacturer to another. No spending a half day upgrading every driver - hoping that will fix the problem - and not cause another one.
The xbox is the first ever device to have the memory controller on the GPU. This means the fully dynamic and reprogrammable cores (unlike the ps3) dont suffer as many wait states or blocks from the cpu and other devices that use the system bus.
The bus between the cpu and the gpu is faster than on a normal pc of its time which works great with the export function the xbox supports to easily and fast read data BACK from the gpu.
In summary there are far fewer bottlenecks compared to the ps3 system and despite the 360's age, its feature set is only now becoming common place on a pc.
The biggest problem noted was converting the code to the 360, which of course would be the same issue for converting it to a pc gpu .. and even worse for the ps3. It is the difficulty of changing generic code for gpu calculation that prevents wider spread usage of consoles and pc gpus in academia.
Why the hate against using ms products?
The ps3 can go near full speed with its 7 spus when it only uses local memory, very few things can be coded to only use local memory that was an example of one. The 360 has 3 real cores that appears as 6 to the developer. In simplistic terms the ps3 cpu is about twice as fast as the 360 as the are both 3.2 cpus.
The reason they are clocked so high is cpus cannot do hardware branch caching, this is somewhat similar to a pentium 1 (or even less) clocked super high.
A 2.2 core 2 duo easily wipes the plate with the ps3 or 360 cpu in almost ever real world case. Some academic problems can be solved faster on the ps3 OR 360 cpu than a pc but this is the exception not the rule.
The 360s faster GPU and more bandwith and should mean in most real world problems it will beat the ps3, but slower than apc
Yes I agree computers made for gaming and computers made for computing are 2 COMPLETELY DIFFERENT setups!!!! You dont need the greatest CPU Motherboard OR Ram. Just look here: http://www.bit-te...ng-rig/1 Yes they can still cost a bit BUT it will give vastly superior computational performance than the equivalent number(by price) of xbox360's would ever give.
Pc graphics cards are easy to code with, cheap price/power, and can get tons of computational power for the price.
It all depends on what architecture you are using. Of course the i7 architecture is the best at the moment as it allows for each 16x 2.0pci lane its own separate bus while previous architectures would bottleneck.
Quote from: http://www.bit-te...e-dive/7
But now we are starting to get into gaming architecture.
Yes and what speed is your peripheral bus? You can't jsut jam components in and say Tada they're all fast so we're good to go. Unfortunately, even on the i7 your bus architecture is becomming the bottleneck. Especially when a lowly Xbox can push data in the range of 3200MHz all day long.
You're still looking at a solid roadblock to performance. More busses implicates more complex code. This is why mainframe computationals are preferred to standard x86 architechture. The bus speeds and resource agg4regation is far cleaner and doesn't require additional overhead just to work.