Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Technology

Unleashing the Power of the Cell Broadband Engine 136

An anonymous reader writes "IBM DeveloperWorks is running a paper from the MPR Fall Processor Forum 2005 explores programming models for the Cell Broadband Engine (CBE) Processor, from the simple to the progressively more advanced. With nine cores on a single die, programming for the CBE is like programming for no processor you've ever met before."
This discussion has been archived. No new comments can be posted.

Unleashing the Power of the Cell Broadband Engine

Comments Filter:
  • ps3 programming (Score:3, Insightful)

    by orlyonok ( 729444 ) on Sunday November 27, 2005 @02:47AM (#14122588)
    from the article and if the ps3 cell cpu is even half the processor than this monster is i say that game companies will need a lot of real programmers to make real good games (as if they cared).
  • by Fallen Kell ( 165468 ) on Sunday November 27, 2005 @03:08AM (#14122667)
    I say no, they won't need lots of real programmers. They only need 1 or 2 per game team to do the overall design and let the compilers do the rest. Since the real guts of it will be compiler optimization. If your lead designers do their job, the compiler will be able to do its job and everything will work like it should.

    Its when you take old code from previous things and then try to do a direct port that you will see some issues in performance hits. But if designed from the ground up in terms of the code for a cell environment (or ANY CPU architecture), it is all in the hands of the few top level software design architechs to properly structure the overall workings of the game's code. Once the structure is correct, sending the bits and pieces that need to be made to the rest of the code monkeys is no problem, they just need to follow the UML or whatever other design docs they are specifically suppose to implement.

  • Remind anyone... (Score:3, Insightful)

    by Kadin2048 ( 468275 ) <.ten.yxox. .ta. .nidak.todhsals.> on Sunday November 27, 2005 @03:35AM (#14122744) Homepage Journal
    ... of the promotional material for the Sega Saturn from a few years back?

    I remember right about the time it came out, there was a lot of hype about it's architecture. Two main processors and a bunch of dedicated co-processors, fast memory bus, etc., etc. I don't remember any more specifics, but at the time it seemed very impressive. Of course it flopped spectacularly, because apparently the thing was a huge pain in the ass to program for and the games never materialized. Or at least that's the most often spoken reason that I've heard.

    Anyway, and I'm sure I'm not the first person to have realized this, Cell is starting to sound the same way. The technical side is being hyped and seems clearly leaps and bounds ahead of the competition, but one has to wonder what MS is doing to prevent themselves from producing another Saturn on the programming side.
  • Re:ps3 programming (Score:5, Insightful)

    by iota ( 527 ) * on Sunday November 27, 2005 @03:50AM (#14122770) Homepage
    from the article and if the ps3 cell cpu is even half the processor than this monster is i say that game companies will need a lot of real programmers to make real good games (as if they cared).

    1. Some of us do care, actually.
    2. The Cell processor described is exactly the processor in the PS3.
    3. Yes, regardless of what some would like to believe, there is no magic. It's different, but it's the way things are going, so some of us are adapting the way develop. It'll take work, and maybe a little time, but that's always been our job - we get hardware and we figure out how to do something cool with it.
    4. It is actually really fun to work on and very impressive.
  • Re:ps3 programming (Score:3, Insightful)

    by iota ( 527 ) * on Sunday November 27, 2005 @04:02AM (#14122800) Homepage
    It'd seem to me that a lot of the development trickery will be in getting a proper compiler and specialized libs out there that take advantage of this parallelism without requiring massive changes to how the average developer has to write their code.

    Certainly people are working on that very idea. However, it's a long way off and not likely to happen in the lifetime of this version of the processor. Both XLC (IBM's optimizing compiler) and GCC have a very difficult time vectorizing (i.e. taking advantage of the SIMD instruction sets) within a single processor. IBM has released a Cell SDK for managing the PPU/SPU at a higher level, which should make the transition slightly easier for some developers, but on the whole - there is no way around the fact that the final algorithms and data design are very different when targetting a Cell.

    Most of the bitching we've heard from developers so far hasn't been that the cell sucks but that their existing codebases don't take advantage of it's design and they don't want to make a rewrite that locks them into the platform.

    These developers that are bitching are just the decendants of the developers that were bitching when games moved from 2D to 3D. That caused a major upheaval as well. We lost a lot of programmers in that transition, we're bound to lose some here too. But times change and multi-processing has been a long time coming - it's not going anywhere. The Cell may be a hit, or not - but the software techniques will be the basis of what we do for quite a while.
  • by ScottCooperDotNet ( 929575 ) on Sunday November 27, 2005 @04:08AM (#14122810)
    Simply because IBM mentions broadband [wikipedia.org] doesn't mean it has anything to do with system-to-system data transmission. This sounds a bit like Intel's marketing of "shiny new Pentiums make the Internet faster."

    "The Pentium III will make the Internet a much more consumer-friendly environment," says Jami Dover, Intel's marketing vice president. Surfing today, Dover maintains, is a limited experience because data-transfer rates over ordinary telephone lines do not allow for high-quality audio, video and 3D graphics. "You take people raised on TV and show them a flat, text [Web] page," says Dover. "It's quite a juxtaposition." [asiaweek.com] I guess Intel was hoping the world could go through a phone line with enough compression.

    To us this is a nitpick, to the general public this is more confusion in a jargon filled marketplace.

  • by Sycraft-fu ( 314770 ) on Sunday November 27, 2005 @05:11AM (#14122956)
    Well, not quite. The odd processors were a problem for the Saturn, but not the major one. The really major problem was that it wasn't good at 3D. The Saturn was basically designed to be the ultimate 2D console, which it was. However 3D was kinda hacked on later and thus was hard to do and didn't look as good as the competition. This was at a time when 3D was new and flashy, and thus an all-important selling point.

    However you are correct in that having a system with a different development model could be problematic. Game programmers (and I suppose all programmers) can be fairly insular. Many are already whining about the multi-core movement. They like writing single-thread code, a big while loop in essencde, since that's the way it's always been done. However the limitations of technology are forcing new thinking. Fortunately, doing multi-threaded code shouldn't require a major reqorking of the way things are done, espically with good development tools.

    Well, the Cell is something else again. It's multi-core to the extreme in one manner of thinking, but not quite, because the Cells aren't full, independant processor cores. So programming it efficiently isn't just having 8 or 9 or however many cores worth of tasks for it.

    Ultimately, I think the bottom line will come down to the development tools. Game programmers aren't likely to be hacking much assembly code. So if the compiler knows how to optimise their code for the cell, it should be pretty quick. If it doesn't and requires a very different method of coding, it may lead to it being under utilised.

    Now it may not be all that imporant. Remember this isn't like the PS2, the processor isn't being relied on for graphics tranformations, the graphics chip will handle all that. So even if the processor is underultilised and thus on the slow side, visually stunning games should still be possible.

    However it is a risk, and a rather interesting one. I'm not against new mthods of doing things, but it seems for a first run of an architecture, you'd want it in dev and research systems. Once it's been proven and the tools are more robust, then maybe you look at the consumer market. Driving the first generation out in a mass consumer device seems risky, espically given that the X-box has lead time and thus it's development model is already being learned.
  • Re:CBE = Failure (Score:5, Insightful)

    by plalonde2 ( 527372 ) on Sunday November 27, 2005 @12:00PM (#14123916)
    You're right - you don't design around a new processor.

    But you should design around the changes in architecture that have been coming at us for the last 5-10 years: the bus is the bottleneck, and the Cell makes this explicit. It goes so far as to deal with the clock-rate limits we've reached by taking the basic "bus is the limit" and exposing it in a way that lets you stack a bunch of processors without excessive interconnect hardware (and associated heat) into a more power-efficient chip.

    I've been working on Cell for nearly a year now, and it's been really nice being forced to pay attention to the techniques that will be required to get performance on all multi-core machines, which in essence means all new processors coming out. Our bus/clockrate/heat problems are all inter-dependent, and Cell is the first project I've seen that gets serious about letting programmers know they need to change to adapt to this new space.

He has not acquired a fortune; the fortune has acquired him. -- Bion

Working...