Slashdot Mirror


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.'"

23 of 101 comments (clear)

  1. Re:Why not the PS3? by rlanctot · · Score: 3, Informative

    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.

  2. Re:Why not the PS3? by Anonymous Coward · · Score: 2, Insightful

    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.

  3. How would this work in practice? by grumbel · · Score: 3, Interesting

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

  4. Re:Why not the PS3? by mkaushik · · Score: 4, Interesting

    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.

  5. Re:Why not the PS3? by TeethWhitener · · 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.

  6. Re:Why not a PC by adisakp · · Score: 5, Informative

    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.

  7. What about in 5 years? by i.r.id10t · · Score: 2, Insightful

    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?

    --
    Don't blame me, I voted for Kodos
  8. isn't this somewhat boring? by Trepidity · · Score: 2, Informative

    Apologies for the rhetorical question, but obviously GPGPU for scientific simulations isn't new. We've had a whole lot on that already. 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.

    1. Re:isn't this somewhat boring? by olsmeister · · Score: 2, Insightful

      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.

    2. Re:isn't this somewhat boring? by namgge · · Score: 2, Interesting

      I can compute anything, given enough time.

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

      Namgge

  9. Re:Was there a risk assessment? by Timesprout · · Score: 2, Informative

    I am guessing that using the XBox as a parallel programming platform is pretty easy on your game disks.

    --
    Do not try to read the dupe, thats impossible. Instead, only try to realize the truth
    What truth?
    There is no dupe
  10. Comments from TFA by earlymon · · Score: 2

    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.

    --
    Pathological kinda promises Path + Logical - but instead, you get stuck with pathetic.
  11. achievement unlocked by santax · · Score: 4, Funny

    Found cure for cancer. Patented it.

  12. Re:Why not a PC by zaffir · · Score: 5, Insightful

    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.

    --
    "Upon attaching the waterblock to my penis, I began to notice that I know nothing about computers." -- JRockway
  13. Re:Why not the PS3? by Spatial · · Score: 2, Interesting

    Almost all of the cards that support it are less than 200 dollars, namely the 8x00, 9x00 and GTX series. Only four or five of them cost more than that, mainly multi-GPU cards.

  14. Because it's an advetorial, perhaps? by david_craig · · Score: 5, Insightful

    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.

    1. Re:Because it's an advetorial, perhaps? by innerweb · · Score: 4, Interesting

      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.
    2. Re:Because it's an advetorial, perhaps? by kestasjk · · Score: 3, Insightful

      Do cardiovascular research scientists buy much of their research equipment for Christmas?

      --
      // MD_Update(&m,buf,j);
    3. Re:Because it's an advetorial, perhaps? by julesh · · Score: 2, Interesting

      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 was with PS3... I doubt there's much more to it than that.

  15. "take the steep learning curve to SPU programming" by Anonymous Coward · · Score: 2, Interesting

    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 the code with intrinsics which is exactly like coding for x86's SSE2 but easier because the SPU vector engine is a lot more complete. If you need to work with more memory you need to do some manual memory management, but it's nowhere near as invasive as the shuffling you need to do to move data on and off a video card. CELL is quite simply FAR easier than GPGPU.

    tl;dr version: GPGPU is complex and specialized enough that you have to write for it, CELL is so simple that you can get regular CPU code running on it with few to no changes.

  16. Re:Why not the PS3? by Svartalf · · Score: 3, Interesting

    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
  17. Re:Why not the PS3? by LucidLion · · Score: 2, Informative

    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 and then Session Catalog > Session ID 1036, you can read the abstract.

  18. Re:Why not the PS3? by drinkypoo · · Score: 3, Informative

    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.

    --
    "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"