Forgot your password?
typodupeerror
Medicine XBox (Games) Games Technology

Parallel Processing For Cardiac Simulations Using an Xbox 360 101

Posted by Soulskill
from the just-watch-out-for-a-literal-red-ring-of-death dept.
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.'"
This discussion has been archived. No new comments can be posted.

Parallel Processing For Cardiac Simulations Using an Xbox 360

Comments Filter:
  • Why not the PS3? (Score:2, Insightful)

    I thought everyone used the PS3 for this sort of off-the-shelf supercomputer thing.
    • Re: (Score:3, Informative)

      by rlanctot (310750)

      Because "Dr. Scarle's work history included gaming industry experience as a software engineer at a company associated with Microsoft Games Studio."

      ie he's had experience in programming for the platform, was likely used to using Visual Studio with XNA and likely had all the tools he needed to program for the 360 already.

      • Re:Why not a PC (Score:5, Informative)

        by adisakp (705706) on Saturday September 12, 2009 @04:50PM (#29400821) Journal
        If you program C# Windows / Direct3D, programming, XNA for XBOX is easy to program for. You can actually start with XNA on the PC and most stuff will transfer over with minimal changes. You have access to the GPU and shader programming so GPGPU programming ideas can be ported as well.

        The PS3 Linux is significantly more difficult to program for, has a different memory model (and programming architecture) for the SPU's, has very poor (compared to Visual Studio) debugging and programming IDE environment, etc. Not to mention that the latest version of the PS3 doesn't even support Linux. There is no GPU access so GPGPU algorithms available on the PC need to be manually ported to the PS3.

        That said, if they actually did buy older PS3's, take the steep learning curve to SPU programming, port all of their code to a 100% custom platform with hard-to-use tools, and heavily optimize the SPU code, they would probably be running their algorithms significantly faster on PS3 SPU's than on the XBOX 360 GPU.
        • Re:Why not a PC (Score:5, Insightful)

          by zaffir (546764) on Saturday September 12, 2009 @05:41PM (#29401105)
          Actually, the case could easily be made that programming a GPU that was NOT meant for general-purpose computing is quite a bit harder than the Cell, which WAS designed with more general-purpose computing in mind. You don't need to port everything required for GPGPU, you just use the libraries and tools developed by IBM for the Cell.
        • That said, if they actually did buy older PS3's, take the steep learning curve to SPU programming, port all of their code to a 100% custom platform with hard-to-use tools, and heavily optimize the SPU code, they would probably be running their algorithms significantly faster on PS3 SPU's than on the XBOX 360 GPU.

          I know next to nothing about parallel processing or either game console, but I have to ask couldn't they simply use more 360s and get the same speed, without having to spend time doing all of that?

          • by egr (932620)
            Sure if the problem is embarrassingly parallel or not real-time, otherwise, latency for message transfer would probably kill it.
          • Look up Amdahl's Law. Every 'parallel' problem is really a problem which has some parts that are independent and some parts that are not. Consider something simple, like sorting an array. You can combine two sorted arrays in O(n) time, just be iterating over the two of them and, at each step, taking the element from the head of one of the arrays, depending on which is smaller. You can, therefore, parallelise sorting by splitting an array in half, and sorting the two halves independently, then combining
          • I have to ask couldn't they simply use more 360s and get the same speed, without having to spend time doing all of that?

            Each Xbox 360 costs $299, plus $99 per console per year for "Creators Club", a certificate to run self-signed .NET assemblies. So the fewer consoles you buy, the less you have to pay Microsoft to rent a soft-mod. (Incidentally, Apple copied this model for the iPhone developer program.) The fat PS3 was $399, and the owner had the ability to boot into Other OS permanently.

        • by Anonymous Coward

          Give me a break. So long as your program doesn't need more than 256k of memory per thread you can port it by typing little more than "CC=gcc-spu make". There is a nice helper library that wraps your main() and passes I/O to and from the SPU. I got about 40kloc of audio processing code running on the SPU in a grand total of 30 minutes, which included downloading the SDK (and reading the docs while it downloaded and installed). It required zero code changes. Getting good performance requires vectorizing

        • by moon3 (1530265)
          SPUs are not suitable for everything. CPU side of the Xbox 360 has 6 hardware threads on 3 general purpose cores, while PS3 has only one general purpose core.
          If you doesn't need SPUs the PS3 turns to be very poor contender agains 3 very fast HT cores of the Xbox. Larger shared CPU/GPU memory architecture also helps the Xbox.
    • Re: (Score:2, Insightful)

      by Anonymous Coward

      If he was planning on tailoring the computations for a GPU, the Xbox is the best choice as it has more features for generic data manipulation and more computational power. As mentioned in the summary, ease of development was actually the primary motivator. PS3 fails hands down in this arena.

      • Re:Why not the PS3? (Score:4, Interesting)

        by mkaushik (1431203) on Saturday September 12, 2009 @04:44PM (#29400787)

        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.

        • by JJJK (1029630)

          Or use OpenCL and choose any GPU vendor that supports it (ATI and nVidia already do - in beta)

          I must admit that CUDA is pretty easy, you'll understand the basics and make a simple application in less than one day. I have some experience with programmable shaders and I know how GPGPU works, but that's a lot more complicated than using CUDA. I'm not sure what kinds of features the xbox provides, but I doubt it's easier than that. And OpenCL is almost the same concept, it's just using a compilation method more

        • Re: (Score:2, Informative)

          by LucidLion (1145739)
          This type of simulation can be and is being done using CUDA. In fact a talk is being given at the upcoming nVidia technology conference on this very subject. nVidia's website won't let me create a direct link, but if you click here [wingateweb.com] and then Session Catalog > Session ID 1036, you can read the abstract.
    • Re: (Score:3, Interesting)

      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.
    • by david_craig (892495) on Saturday September 12, 2009 @05:59PM (#29401211) Homepage

      Because it's really a publicity stunt from Microsoft trying to get the Xbox360 in the forefront of peoples minds in the lead up to Christmas.

      The article reads like most of the marketing cover I see from Microsoft (and for that matter most other software companies).

      Organisation X needed to do Y but the competing product was too expensive (in price/effort/time). Our product does Y at a fraction of the price/time/effort of our competitor.

      The people at Orgaisation X are smart people who know all about Y and are very happy with our product.

      • Re: (Score:1, Offtopic)

        by Silas is back (765580)
        +1 Insightful
      • by innerweb (721995) on Saturday September 12, 2009 @11:53PM (#29402809)

        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

        • by AHuxley (892839)
          6.40 Processes Should Be Enough For Anyone :)
        • by Rewind (138843)
          Actually the latest version of the 360 is (at least from what I have seen) less likely to fail than the PS3. However the stigma of the notoriously unreliable early versions will stick around for some time to come.

          It is a real issue and it does seem odd to pick the least reliable system for this, but Microsoft does replace them for free, and at least on the gaming front, reliability has never been a huge deal. People want to ramble on about how it will impact console wars, but the PS2 was easily the mo
      • by kestasjk (933987) * on Sunday September 13, 2009 @02:24AM (#29403253) Homepage
        Do cardiovascular research scientists buy much of their research equipment for Christmas?
        • by Trogre (513942)

          With R&D budget cuts across the board, Santa is pretty much their last remaining equipment source.

      • Re: (Score:3, Interesting)

        by julesh (229690)

        Because it's really a publicity stunt from Microsoft trying to get the Xbox360 in the forefront of peoples minds in the lead up to Christmas.

        The article reads like most of the marketing cover I see from Microsoft (and for that matter most other software companies).

        I've worked with WMG people before, and they aren't the kind of organisation that takes a payoff like that. And they certainly aren't a typical MS shop, either. My guess is simply that the guy was more familiar with Xbox as a platform than he w

      • by AHuxley (892839)
        Published in Elsevier :)
        MS is learning from the pharmaceutical companies :)
    • by Anonymous Coward

      Better send him to jail.

    • Re:Why not the PS3? (Score:4, Informative)

      by drinkypoo (153816) <martin.espinoza@gmail.com> on Sunday September 13, 2009 @10:00AM (#29404847) Homepage Journal

      Sony just canned the PS3 Linux install option. :)

      I doubt he's using JUST the GPU. The 3x3.2GHz PowerPC processors in the Xbox 360 are pretty compelling. The PS3 MIGHT have more raw power but you're not actually even allowed to use its GPU unless you have first-string developer status. Scientific computing on the PS3 focuses on the Cell, and it seems like there's an awful lot of unuseful hardware wrapped around it.

  • Using the XBox 360 as a parallel computing platform when "major reworking of any previous code framework is required" seems like a huge risk when considering the XBox 360 reliability problems [wikipedia.org].

    Perhaps the newer systems have better reliability, I only hope for their sake they did their homework before buying the boxes.

    • Re: (Score:2, Informative)

      by Timesprout (579035)
      I am guessing that using the XBox as a parallel programming platform is pretty easy on your game disks.
      • by Spatial (1235392)
        Read more than the first line of the index. There are problems with practically every aspect of the hardware, including GPU failure.
  • by grumbel (592662) <grumbel@gmx.de> on Saturday September 12, 2009 @04:41PM (#29400773) Homepage

    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)?

    • Well, TFA says he had experience specifically programming for the 360 already, so he didn't need to learn another GPU.

      Also.. You're missing the possibility of mass production. Imagine including a "free" xbox360 to run your wondrous cardiac software as a turn-key system. It'd be much easier to get some mass-produced consoles in a bulk order with some minor cosmetic changes to send out to doctors as a complete "single-purpose supercomputer" (within the bounds of the cardiac simulation he was working on) tha

    • The GPU in the Xbox 360 is roughly equivilent to maybe the HD 2900 from ATI. The system has 512MB Main RAM (a 10MB frame buffer for the GPU) and the memory is accessed through the GPU. The Xbox, has roughly a 7800 in it. It was added quite late, after Cell wasn't panning out quite as well as they wanted, so they went to Nvidia and asked what they could do, so it's closer to a desktop version than the one in the Xbox. Open platform... both are exceedingly closed. The person probably should have gone with a
    • by faragon (789704)

      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)?

      Being new PS3 models not able to run Linux [slashdot.org], my guess is that Microsoft will push that side in order to attract geeks.

    • Microsoft just patched it shut.

  • It would perhaps give a new meaning to the red rings of death.

  • by i.r.id10t (595143) on Saturday September 12, 2009 @04:53PM (#29400837)

    What about in 5 years, or some other point in the future? The advantage of programming for say, x86, etc. is that the hardware will be out there and available for some time, and it will keep getting more clock cycles, etc. However, how long will the X Box be on the market? Will researchers be hunting pawn shops and garage sales in 5 years to replace broken hardware units?

    • Possibly.

      I met a guy in a dark alley behind a strip club to buy a couple of non-lobotomized Linksys routers, since no one carried the good ones locally and I needed them immediately.

    • by julesh (229690)

      The advantage of programming for say, x86, etc. is that the hardware will be out there and available for some time, and it will keep getting more clock cycles, etc. However, how long will the X Box be on the market? Will researchers be hunting pawn shops and garage sales in 5 years to replace broken hardware units?

      XNA/Managed DirectX, the development environment he would have been using for this project, is somewhat hardware independent. The same software could be run on a PC, for instance, although a PC c

  • by Trepidity (597) <delirium-slashdot&hackish,org> on Saturday September 12, 2009 @04:57PM (#29400867)

    Apologies for the rhetorical question, but obviously GPGPU for scientific simulations isn't new. We've had a [slashdot.org] whole [slashdot.org] lot [slashdot.org] on [slashdot.org] that [slashdot.org] already [slashdot.org]. The only possible new thing could be using the Xbox360 for it. But as far as I can tell (confirmed by all the comments I've seen so far), there isn't even anything interesting about that--- this guy just used the Xbox360 because he was already familiar with the programming environment, not because it has any particular advantages over CUDA on a PC.

    • Re: (Score:1, Interesting)

      by Anonymous Coward

      The GPU computing is nothing new.

      However, the paper on the-
      "Implications of the Turing completeness of reaction-diffusion models"
      is fascinating.

      It's about spatially diffused chemical reactions, which is basically cell chemistry and thus life.
      If this process can be regarded as being Turing complete then we have to regard a cell membrane, or even a simple mix of chemicals as being able to compute. And to be able to compute anything.

      Turing's original reaction-diffusion model of morphogenesis concentrated on an

      • by speedtux (1307149)

        If this process can be regarded as being Turing complete then we have to regard a cell membrane, or even a simple mix of chemicals as being able to compute. And to be able to compute anything.

        That's nothing new either; of course, you can compute with fairly simple systems of coupled chemical reactions.

      • Re: (Score:2, Insightful)

        by olsmeister (1488789)

        If this process can be regarded as being Turing complete then we have to regard a cell membrane, or even a simple mix of chemicals as being able to compute. And to be able to compute anything.

        I can compute anything, given enough time. Part of my computational process may even involve designing a computer to speed the process and giving it specific instructions on what to do, and then waiting for a result.

        • Re: (Score:2, Interesting)

          by namgge (777284)

          I can compute anything, given enough time.

          Then have a go at a tiling problem [cs4fn.org] and let us know when you've finished.

          Namgge

  • by earlymon (1116185) on Saturday September 12, 2009 @05:11PM (#29400945) Homepage Journal

    I've found that - for me - most comments (when available) on most linked articles are of low quality (I'm not referring to /. comments, but the ones at any given article site itself). However, the ones addressing TFA at the physorg site are pretty cogent and informative, IMO.

  • by santax (1541065) on Saturday September 12, 2009 @05:29PM (#29401027)
    Found cure for cancer. Patented it.
  • by ae1294 (1547521)

    Think of what a Beowulf Cluster.. O wait, nevermind.

    I wonder if the Microsoft Audit team will show up and slap a fine for violating the EULA or something...

    • by Korbeau (913903)

      I wonder if the Microsoft Audit team will show up and slap a fine for violating the EULA or something...

      I think these Xboxes have probably been provided free by the Microsoft Marketing team and that's one of the reason it's such "cost-effective" :)

      From the summary:

      Although major reworking of any previous code framework is required

      Let's conservatively say that that alone require a programmer underpaid 30'000$ for a whole year (or two for 15'000 for six month, etc.) With that money you can buy 30 PCs that outweigh the Xbox in every performance aspects (or 39 considering that 30 Xbox would have cost 9000 to start with anyway).

      I cannot see how this cannot be some kind of PR stu

  • So some guy somewhere said: "Yeah, it's possible." But even if someone started planning such a thing, why would they use 4 year old technology?
  • so does any PC you like, and withe NVideas line of GPGPU cards, and their CUDA development kit its perfectly do-able with much more parallel processing power. Especially once you consider packages like accelereyes with matlab that make it easy.
  • Last year I attended a presentation by Dr. Middelkoop. He showed us a demo on distributed computing using PS3s. http://www.ise.ufl.edu/middelkoop/ [ufl.edu] His work was focused on optimization.
  • ...if they chose a platform that is more [osnn.net] reliable [quartertothree.com] than an Xbox 360. [wikipedia.org]

    That's right bitches, 54.2% failure rate. [n4g.com]

    • by js3 (319268)

      ...if they chose a platform that is more [osnn.net] reliable [quartertothree.com] than an Xbox 360. [wikipedia.org]

      That's right bitches, 54.2% failure rate. [n4g.com]

      that would mean and all of my xbox360 buddies must be in the other percentile... say for silent majority? I can pull %s out of my ass too but it won't be pretty.

  • You're getting more bang for the buck with a desktop PC and standard graphics cards.

  • I find this story interesting, perhaps for a different reason to why it was posted here. I walk past the WMG Digital Lab on my way to the bank whenever I go, and I'm quite impressed that they've managed to do the research, get a paper published and get it talked about here within a couple of months of the building work on the lab being completed...

  • You cannot possibly come up with a more transparent ploy to get game consoles for the whole department. I bet the next stage is "simulation at home"..

    In all seriousness, there appears to be call for what I would call Geowulf clusters (a Beowulf cluster of graphics processors)..

  • Just add a recent graphics card into your system. With CUDA, it’s all already prepared for you.

    • by drinkypoo (153816)

      Yes, that graphics card costs more than an Xbox 360 and might also draw more power than the whole system! Stupid objections make for stupid arguments, suggesting stupid people.

      The ATI GPU in the Xbox 360 provides numerous important enhancements, primarily that shaders don't have to hit main memory. All you need for some portability is a shader language. There are numerous obvious advantages to just using the incredibly cheap and powerful Xbox 360. If only Microsoft didn't have every reason to try (in vain)

  • Given that:

    - Microsoft subsidizes every XBox 360 system and makes an investment for every unit sold
    - Microsoft only recoups that investment with game and accessory sales
    - A supercomputer built on Xbox 360 nodes would not need any games or accessories

    We can try to answer:
    - How many nodes would a supercomputer need to completely suck the life out of Microsoft once and for all?
    - How much that machine would be able to do?

    Even if it is not make it to the top 500, just killing Microsoft is a worthy goal.

  • And how long will it take before they need to redo their software all over again because Microsoft abandons the platform?

  • ... is what you'll be missing out on. All because you ostensibly couldn't pay someone to write a hypervisor driver for your new SKU. You would have been better off releasing the specs and having the community do it for you.

"In matters of principle, stand like a rock; in matters of taste, swim with the current." -- Thomas Jefferson

Working...