Parallel Processing For Cardiac Simulations Using an Xbox 360
Foot-in-Mouth writes "Physorg has an article about a researcher, Dr. Simon Scarle at the University of Warwick's WMG Digital Laboratory, who needed to model some cardiological processes. Conventionally, he would requisition time on a university parallel-processing computer or use a network of PCs. However, Dr. Scarle's work history included gaming industry experience as a software engineer at a company associated with Microsoft Games Studio. His idea was that researchers could use Xbox 360s as an inexpensive parallel computing platform due to the console's hefty parallel processing-enabled GPU. He said, '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.'"
How would this work? Does Microsoft sell licenses for such purposes? Would they need to buy special development boxes instead of cheap of the self hardware? Has the Xbox360 been hacked enough to make this practical?
And most important of all: Why use a Xbox360 GPU in the first place? Aren't there PC GPUs that could run circles around what is in the Xbox360? Wouldn't a PS3 be better suited duo to being an open platform (well, at least as long as the old models are still available)?
He should've used something like CUDA instead, for long term gains. This would have shown far better performance than the Xbox's GPU (which is quite dated now), and easy scalability as better GPUs keep coming to the market. His familiarity with Xbox programming might have enabled him to come up to speed with CUDA quickly.
Well, since the introduction of CUDA by Nvidia, using GPUs for accelerated physical simulations has started to catch on. I've heard of people using PS3 and XBox occasionally, but usually for this sort of work, they'll take a half-dozen or so GeForce cards and use CUDA to parallelize the code. I'm not too familiar with all the ins and outs myself, but as a part of the chemistry community, I get to see a lot of neat applications of the stuff.
Only problem I have with the X-Box is how crappy the hardware has been so far. Rings of death, circle of death, failed rom drives, failed hard drives ...
Why on Earth would you want to rely on such a poorly constructed piece of hardware to do real work? Every component has failures, but when so many of my childrens' friends are on their 3rd or fourth in a few years, there is a real issue. And, no, they are not abusive to their equipment. The same kids have Wii,s PCs, PS3s, GameCubes and more without all the issues they have with X-Box 360s.
InnerWeb
Freud might say that Intelligent Design is religion's ID.
Perhaps. Depends on how many nodes he had to set up.
Let's do a bit of "napkin math" on this:
I believe there's 48 unified shader cores in the 360's GPU. That's a nice amount.
There's 112 shader cores in the 9800GT. With the SLI setup, that's 224 of them at your disposal to do GPGPU thread processing with.
Now...done right (meaning not going overboard on the CPU, etc...), you can field a machine for about $600 or so that has an inexpensive SLI board, case, memory, etc. If you're doing a cluster node, you wouldn't need a disk, etc. so you could shave a bit more than you'd think off the price past the first machine bought.
$200 versus $600. The price is compelling. But, unfortunately, you're talking about a machine that's nearly 5 times more powerful (Possibly more, I'm not doing apples-to-apples comparisons on the shader cores...) at this sort of task with the PC- for only about 3 times the cost. To gain the same performance level, you would have to field 5 360's per each PC compute node. If you only need the power of two or three of the 360 nodes, then it makes some sense to do it with that, especially if you're familiar with the environment (the gent we're talking about in the threads here was that...).The power consumption will be comparable across the board, so that's not so much a consideration.
Where it really hits the wall is with the cluster fabric itself. Using PS3's and 360's is "cool" but it's actually not overly practical past about 10 or so machines for most performance computing applications because of the limitation of the cluster interconnect you have at your disposal. With those machines you will be limited to 1Gb Ethernet which limits your interconnect performance to about 750Mbits per node. When you go to match the performance of the PC box, you will find that you can do it, but it'll take 5 or so 360's to do it because of the overhead, lower performing hardware, and all. You'll have difficulty matching a cluster of the same numbers of PC's- and we won't get into using Myrinet, Infiniband, or iWarp channel adapters for 10Gb interconnects on the PC's which will make it be basically a huge SMP machine for all intents and purposes until you scale it to about 32 or so machines.
I think the assessment that it's familiarity and "cool" factor that drove this decision- not price or actual usefulness.
I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas