Become a fan of Slashdot on Facebook

 



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:
  • Wow ... (Score:5, Interesting)

    by JMZorko ( 150414 ) on Sunday November 27, 2005 @02:45AM (#14122583) Homepage

    ... all those _registers_ make me salivate! One of the coolest things about the RCA1802 (the processor I learned on) compared to others in its' time was that it had _loads_ of registers when compared to a 6502 or 8085. It spoiled me, though ... when I started exploring those other CPUs, I always thought "Huh? Where are all of the registers?"

    So yes, I want a Cell-based devkit now, 'cuz this sounds like _fun_ :-)

    Regards,

    John

  • Re:ps3 programming (Score:3, Interesting)

    by MikeFM ( 12491 ) on Sunday November 27, 2005 @03:10AM (#14122680) Homepage Journal
    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.

    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.

    As with every platform the really good stuff will come out a couple years after it's release. At least with the Cell they are pushing it to go mainstream instead of just for gaming consoles so we should expect to see development moving along much faster than with a plain console.
  • Re:PS3 Suggestion (Score:2, Interesting)

    by Trigun ( 685027 ) <evil@evil e m p i r e . a t h .cx> on Sunday November 27, 2005 @03:14AM (#14122700)
    Just cut Sony out of the loop, and have IBM do the work. They could re-revolutionize the desktop PC market.
  • Re:PS3 Suggestion (Score:1, Interesting)

    by Doppler00 ( 534739 ) on Sunday November 27, 2005 @03:28AM (#14122730) Homepage Journal
    Waaaaiiit a minute. This is the same DRM the heck out of everything Sony we are talking about here right? There is no chance they are going to allow a linux distribution to run easily on this platform. They are probably encrypting everything like Microsoft is doing with the XBox360.

    People keep forgetting that Sony and Microsoft are in absolutely no way interested in providing you with a cheap computing platform for your linux cluster endevours at their loss. They make money off of selling games for these things. If people find ways of loading their own software on these boxes you better beleive they are going to start filing lawsuits. Not that I agree with that, but that will be what happened.

  • Re:PS3 Suggestion (Score:5, Interesting)

    by rpdillon ( 715137 ) * on Sunday November 27, 2005 @03:35AM (#14122742) Homepage
    Every PS3 hard drive is shipping [linuxdevices.com] with Linux [engadget.com] onboard [joystiq.com].
  • by Animats ( 122034 ) on Sunday November 27, 2005 @03:49AM (#14122769) Homepage
    The nCube, in the 1980s, was much like this. 64 to 1024 processors, each with 128KB and a link to neighboring processors, plus an underpowered control machine (an Intel 286, surprisingly.)

    The Cell machines are about equally painful to program, but because they're cheaper, they have more potential applications than the nCube did. Cell phone sites, multichannel audio and video processing, and similar easily-parallelized stream-type tasks fit well with the cell model. It's not yet clear what else does.

    Recognize that the cell architecture is inherently less useful than a shared-memory multiprocessor. It's an attempt to get some reasonable fraction of the performance of an N-way shared memory multiprocessor without the expensive caches and interconnects needed to make that work. It's not yet clear if this is a price/performance win for general purpose computing. Historically, architectures like this have been more trouble than they're worth. But if Sony fields a few hundred million of them, putting up with the pain is cost-justified.

    It's still not clear if the cell approach does much for graphics. The PS3 is apparently going to have a relatively conventional nVidia part bolted on to do the back end of the graphics pipeline.

    I'm glad that I don't have to write a distributed physics engine for this thing.

  • they gave up... (Score:5, Interesting)

    by YesIAmAScript ( 886271 ) on Sunday November 27, 2005 @04:00AM (#14122795)
    Both Sony and MS realized they couldn't make a single true general-purpose CPU with the performance they wanted for a price they could afford to sell in their consoles.

    Sony went to a CPU, GPU and 7 co-processors (Cell).
    MS went to a 3 CPUs with vector-assist and a GPU.

    Both companies are going to need to spend a lot of time and money on developer tools to help their developers more easily take advantage of their oddball hardware, or else they will end up right where Saturn did.

    I guess the good news for both companies is that there is no alternative (like PS1 was to Saturn) which is straightforward and thus more attractive.

    PS2 requires programming a specialized CPU with localized memory (the Emotion Engine) and it seems to get by okay. So developers can adapty, given sufficient financial advange to doing so.
  • Re:they gave up... (Score:2, Interesting)

    by thomasscovell ( 887105 ) on Sunday November 27, 2005 @05:12AM (#14122961) Homepage
    No alternative? The Nintendo codename-Revolution will be comparatively "under"-powered, but will definitely be a simpler machine to code for and have novel (not novelty!) controller hardware that will afford the kind of possibilities Sony and Microsoft's idea of "next generation" don't offer. Just pushing more polygons isn't where it is at. There's been no growth in size of the gaming market since the SNES era, just more spending by those who do game. Nintendo's next generation model is at least looking to increase the gaming demographic, just the way their Nintendo DS handheld as (senior gamers? plenty of those in Japan not thanks to the DS!
  • Re:Task switching... (Score:3, Interesting)

    by freeduke ( 786783 ) on Sunday November 27, 2005 @07:07AM (#14123211) Journal
    For use with general OSes, what could be interesting would be a dual-core PPE with those 8 SPE.

    The first core could be the main processor, handling processes, and the second core, could just be there to be interrupted by dedicated threads executed on the SPEs, and communicate with them. The main problem would come from memory bandwidth used by the core which handles the 8 SPEs, it should be designed to minimize the impact on the first core.

    A solution to this could be to have a cell processor and a traditional single-core processor, both of them using HT to improve memory bandwidth. But it seems to be complicated. Anyway, this Cell processor could be interesing as a threads management unit.

    Another point should be to double memory to each SPE, and prefetch context switches while another thread is running on it, and once, the context switch is done, retrieve data from the previous thread: this could me managed by the PPE. And if you combine this solution with a non-synchronized timer interrupts on each SPEs, I bet you can get a pretty good improvement on memory bandwidth consumption made by a cell unit...

    With all those basics ideas, I think that there is plenty of room to use efficiently those cell processors

  • Re:ps3 programming (Score:3, Interesting)

    by TheRaven64 ( 641858 ) on Sunday November 27, 2005 @09:45AM (#14123484) Journal
    C is an incredibly bad language for programming a modern CPU. There are many parts of the C language which assume that the target machine looks a lot like a PDP-11. Trying to turn this code into something that runs on a superscalar machine, let alone a vector processor is incredibly difficult - we can only do it at all because such a huge amount of effort has been invested in research. If you want a good language for programming something like the cell, then you should take a look at more or less any functional language.

    Oh, and anyone who thinks functional languages are scary should realise that they probably use (a very primitive and unfriendly) one for their build system - make.

  • Re:Remind anyone... (Score:3, Interesting)

    by TheRaven64 ( 641858 ) on Sunday November 27, 2005 @09:50AM (#14123494) Journal
    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.

    Meanwhile, those of us who have been advocating building large numbers of loosely coupled, message passing, components all running with their own process space gave enormous grins on our faces at the thought of being able to do the message passing via a shared cache with only a cycle or two penalty...

  • by plalonde2 ( 527372 ) on Sunday November 27, 2005 @11:54AM (#14123891)
    I disagree that that the cell architectures is "inherently less useful than a shared-memory multiprocessor".

    Shared memory is the cause of 80% of the nasty little race conditions programmers leave peppered through their code on parallel machines - it's just too easy to break discipline, particularly considering the crap programming languages support we have - C and C++ are just not up to the task because of their assumption that you may touch anything in the address space.

    Cell-like architectures have one other advantage, particularly in performance-sensitive applications: the explicit DMA to local stores *makes* you look at how the busses work on that machine, and they do not really differ from the busses on non-Cell-like modern machines; the structure of your Cell code will be bus-friendly on pretty much any architecture you port it to. And in our modern world, the bus is the bottleneck.

  • by YesIAmAScript ( 886271 ) on Sunday November 27, 2005 @01:05PM (#14124207)
    Although Nintendo isn't even talking about the hardware specs, so we can't be sure.

    But I didn't include the Revolution because Nintendo is saying the same thing they did with the Gamecube, that they don't need 3rd party developers. Revolution seems largely like a platform for Nintendo to sell you their older games again. Additionally, if Revolution is sufficiently underpowered compared to the other two, it may be that 3rd parties just plain cannot port their games to this platform, or else have to "dumb down" their game in such a way which might make the game uncompetitive with games that don't work on Revolution.

    So, basically, N is downplaying new development so much on the Revolution that I simply left it out as a platform which would attract developers who were fed up with the other two. But probably I shouldn't have done so.

    By the way, with all of this, I want to mention I'm a huge N fan. I have three GBAs, a DS and a Gamecube, plus all their other consoles back to the SNES. I just think that N is concentrating on 1st/2nd party development more than 3rd party development.

The moon is made of green cheese. -- John Heywood

Working...