Slashdot Mirror


Linux For Cell Processor Workstation

News for nerds writes "The Cell processor from Sony, Toshiba and IBM, has been known as the chip that powers the upcoming PlayStation 3 computer entertainment system, but except for that very little is known about how it's applied to a real use. This time, at LinuxTag 2005 from 22nd to 25rd June 2005, at Messe- und Kongresszentrum Karlsruhe, Germany, Arnd Bergmann of IBM will speak about the Cell Processor programming model under Linux, and the Linux kernel in the first Cell Processor-based workstation computer, which premieres at Linuxtag 2005."

54 of 310 comments (clear)

  1. real use? by DustyShadow · · Score: 4, Funny

    but except for that very little is known about how it's applied to a real use.

    And why are video games not considered to be "real use" ??

    1. Re:real use? by Taladar · · Score: 2, Insightful

      Because they are probably written by people that signed NDAs and can't talk about it, so their knowledge about that Cell processor is not available to the public.

    2. Re:real use? by Criton · · Score: 2, Interesting

      Not a real use Cell is awsome an under $300 chip that eats xeons for snacks and can eat an opteron for lunch?
      This would be a big seller for people in engineering the movie industry etc.
      With linux on it I want to see a standard PC board with a Cell processor and an X86 emu in rom for X86 OSes and using X86 cards roms.
      But for speed it'll run native cell compiled applications.
      Another odd effect is if cell finds it way into printers we'll have a situation we had back in the 80s where the printer is more powerful then it's host PC is so people will do crazy stuff like write apps in postscript again for simulations and rendering.

  2. Oh JOY! Tux Racer on the PS3! by Anonymous Coward · · Score: 3, Funny

    Can't wait!

    1. Re:Oh JOY! Tux Racer on the PS3! by meringuoid · · Score: 3, Funny

      Never mind Tuxracer, the game I'm looking forward to playing on Cell has just got to be Angband...

      --
      Real Daleks don't climb stairs - they level the building.
  3. The Linux role in hardware design by Dancin_Santa · · Score: 5, Interesting

    What has impressed me about Linux is not so much that it has enabled some sort of "software revolution", but rather in how it has given chip/platform makers a specific, generic target OS that they can use freely to get something useful running on their hardware quickly.

    It used to be the case that platform makers would have to either develop their own minimal operating system for testing purposes or work very closely with an OS maker to port their software to the new hardware platform. With Linux, this has been pushed into the anals of history. Now the Linux OS porting goes hand in hand with platform building, as evidenced by the almost immediate support for Linux at the time of hardware release.

    I'm not so much interested in how the Cell board is going to revolutionize anything (it won't), but in how we have, in just the past few years, seen a dramatic increase in the number of hardware platforms being released. And not just in numbers, but also in variety. The number of different types of hardware platforms has risen dramatically. It's only limitation is the number of chip instruction sets supported by gcc and the imaginations of hardware manufacturers.

    If you want to see how Microsoft's monopoly has hurt the computer industry, look no further than the current industry. Whereas hardware platforms were pretty standardized and boring, now, with Linux (and real competition to Microsoft's hegemony) the numbers of innovative platforms has increased dramatically. We need a Microsoft out there developing consumer-level applications and quality, user-friendly operating systems. However, we also need a real competitor like Linux to push the giant into innovating.

    1. Re:The Linux role in hardware design by CrankyFool · · Score: 5, Funny

      Erm.

      Just for the record: I think you meant "annals of history." "Anals of history" is ...

      different.

    2. Re:The Linux role in hardware design by ignorant_coward · · Score: 4, Interesting


      Linux is more popular, but NetBSD allows quicker porting of "something useful".

      I agreee that Microsoft has dealt a fair amount of damage with crappy APIs and bad QA regarding stability and security. A 'standard turd with a pretty GUI' is still a turd.

    3. Re:The Linux role in hardware design by Anne+Thwacks · · Score: 5, Insightful
      how it has given chip/platform makers a specific, generic target OS that they can use freely to get something useful running on their hardware quickly

      Perhaps because it is a Unix work-alike, and this was the original design goal of Unix?

      --
      Sent from my ASR33 using ASCII
    4. Re:The Linux role in hardware design by strider44 · · Score: 4, Funny

      Anals of history is what Microsoft has contributed to.

    5. Re:The Linux role in hardware design by Ford+Prefect · · Score: 2, Funny

      NetBSD's motto is "Of Course it Runs NetBSD!!" Back before I had a computer that could run Linux, I had NetBSD on an old mac.

      Ooh, aren't we the pretentious one!

      Back before I had a computer, I had NetBSD running on an old sofa. Beat that! :-)

      --
      Tedious Bloggy Stuff - hooray?
  4. New wave of freedom by XanC · · Score: 2, Insightful

    We are fast approaching an era where you'll be able to run any OS and any software you want on any architecture you want.

  5. Another Demo loop by BagOBones · · Score: 4, Insightful

    Too bad that at LinuxTag 2005 all you will get to see is a looped video on running "real time" on "similar hardware" simulating the great development advanced you will be able to achieve with the new cell processor.

    Maybe the old man face and duck in water tech demos from the PS2 will also appear.. Did any PS2 game ever look as good as sonys techdemos?

    --
    EA David Gardner -"... but the consumers have proven that actually what they want is fun."
    1. Re:Another Demo loop by arose · · Score: 2, Insightful

      Sorry, but real time cutscenes do NOT count. Real games with physics, AI and other overheads do.

      --
      Analogies don't equal equalities, they are merely somewhat analogous.
  6. Re:I thought that the PS3 was going to be real by cofaboy · · Score: 2, Informative

    You could always try clicking this then

    Cell info

    --
    In the end, It's all bovine dung you know
  7. From TFA ... by AHumbleOpinion · · Score: 4, Informative

    "Unlike existing SMP systems or multi-core chips, only the general purpose PowerPC core, is able to run a generic operating system, while the SPUs are specialized on running computational tasks. Porting Linux to run on Cells PowerPC core is a relatively easy task because of the similarities to existing platforms like IBM pSeries or Apple Power Macintosh, but does not give access to the enormous computing power of the SPUs.

    Only the kernel is able to directly communicate with an SPU and therefore needs to abstract the hardware interface into system calls or device drivers. The most important functions of the user interface including loading a program binary into an SPU, transferring memory between an SPU program and a Linux user space application and synchronizing the execution. Other challenges are the integration of SPU program execution into existing tools like gdb or oprofile."

  8. Some words about Big Blue by emanuelez · · Score: 3, Interesting

    I really hope that Cell will boost IBM since in the last few monthes they sold their Personal Computers department to Lenovo and have lost their partnership with Apple for PPC processors. I really think IBM has still a lot to give to the IT world and it would be a real waste to loose their know-how!

    1. Re:Some words about Big Blue by the+hopthrisC · · Score: 3, Funny

      Oh boy... maybe we should start a fund-raiser to save IBM, ya think?

    2. Re:Some words about Big Blue by bWareiWare.co.uk · · Score: 5, Insightful

      Okay what do we know about IBM:

      • The have designed the chips for all the major consoles.
      • The have dumped their Intel based PC business.
      • They have dumped their partner for Power based PCs (IBM would have hardly had to bend over backwards to continue the Apple relationship - they must have basically stonewalled them for Job's to risk a jump to Intel.)
      • They are very Linux friendly.

      What does that mean?

      • They are going to ship an unbelievable volume of chips, allowing them to make highend chips cost effectively.
      • They have no tires to the existing PC business and are completely free to do something new.
      • They have a powerful and adaptable OS that they can push for everything from mobile phones to big iron.

      If I was Intel/Microsoft/Apple/Lenovo I would be running for the hills. IBM is about to try and redefine computing again.

      I am not simply recycling the hype about the CELL being better then sliced bread. I truly think the signs are there that IBM is going to go head long into the Workstation/Embedded/Client/Server market with a CELL/Linux architecture and are going to try and settle some very old debts with Wintel.

      I don't now whether they will successes. I expect it will come down to whether they can make programming the SPU's as easy as x86. But I think it will be a very interesting few years.

  9. Perhaps you are in the wrong business/hobby by AHumbleOpinion · · Score: 5, Funny

    What's the point of better architectures when Apple is moving to the brain-fucked x86 ISA? It's hard to be enthusiastic about computing when you know the beast just got a new lease on life.

    Perhaps you are in the wrong business or hobby. If inconsequential details like what CPU is sitting at the heart of Apple's proprietary design causes you emotional distress you really need to reconsider your life. Assuming of course that you are not in advertising and needed the faux x86/PPC conflict. If so please continue with your distress, otherwise, have you considered forestry?

    http://data2.itc.nps.gov/digest/usajobs.cfm

  10. cell by Eric(b0mb)Dennis · · Score: 5, Funny

    The cell is amazing it will-

    - optimize seamless communities
    - generate vertical e-services
    - everage synergistic convergence

    and best of all

    - engage e-business content

    Perfect solution

    --
    Excuse me, I don't mean to impose, but I am the ocean
    1. Re:cell by rpillala · · Score: 3, Funny
      --
      When the axe came to the forest, the trees said, "Look out - the handle was once one of us."
  11. Re:So what's the deal with you linux zealots? by rammerhammer · · Score: 2, Insightful

    Oh wow, I don't know where to start.

    1. Relevance: This comment has absolutely no relevance to the slashdot article.

    2. Open-source software sucks compared to closed-source because it's not done by 'professionals'? Give me a break! Several open-source projects are funded by companies, organizations, and universities and are recognized world-wide.

    3. You're saying you can't use those programs because of their silly names which you somehow derived as sexual euphemisms? What about windows cause it kinda sounds something like dildos LOL!

    4. You're comparing programming to prostitution while discussing the lack of professionalism -- how very... professional!

  12. Re:*sigh* by ignorant_coward · · Score: 4, Interesting

    I watched the keynote, and Apple (Mr. Jobs) did a really good job selling the transition. The only advantage of Intel is gigahumungous manufacturing capacity, which IBM obviously wasn't willing to steer Apple's way. PowerPC is good and all...up to the point of there being no road map or a stubborn IBM negotiator.

    Consoles are where PowerPC is at from here on out.

  13. Re:Should be interesting by tempmpi · · Score: 2, Informative

    Look at the kernel mailing lists, IBM already submited the first set of patches. Basically Linux runs on the PPE, the full PPC core inside the cell, and there are system calls to execute special SPE binaries running on the SPEs (the subprocessors).

    --
    Jan
  14. NB: This does not mean PS3 will run Linux by Samir+Gupta · · Score: 2, Interesting

    The IBM Cell workstations used for PS3 dev run a version of the Linux kernel to handle development I/O tasks: file transfers, communications with the PC host, starting/restarting programs etc. The game itself does not run in a Linux environment.

    This is similar to the T10K PS2 devkits running Linux (on a separate X86 processor) to do similar purposes.

    As with the PS2, the consumer PS3 console itself uses a custom bare-bones kernel; it is NOT Linux based, although I could certainly see Linux being ported to it, like Sony did with the PS2.

    --
    -- Samir Gupta, Ph. D. Head, New Technology Research Group, Nintendo Co. Ltd., Kyoto, Japan.
  15. Cell may not be impressive at first glance by Rolman · · Score: 3, Interesting

    The Cell architecture was developed with powerful and complex math applications in mind. How will existing Linux applications perform on it? It seems to me that the Cell's strengths are not integer math and general purpose computing, so in theory only floating-point intensive and vector applications can get a real kick out of it. There are not many well known applications with these characteristics.

    That said, advances in parallelizing or vectorizing tasks within the kernel or popular applications are possible, but that's not a trivial task, so at first glance Cell's Linux benchmarks could look unimpressive or misleading, even though the architecture itself is revolutionary, at least in theory.

    Here I hope IBM has done their homework and show something really impressive, yet realistic. I want to see things like Apache and GD serving hundreds of thousands of requests for dynamic content, or some real-time encoding/compositing of MPEG4 video for scalable delivery. I want to see Maya or Lightwave rendering a very complex scene. Rubber ducks may be fun to look at and -in all fairness- fit for a videogame-oriented crowd, but I want to see some kick-ass performance based on what it can potentially do to application development.

    --
    - Otaku no naka no otaku, otaking da!!!
    1. Re:Cell may not be impressive at first glance by Anonymous Coward · · Score: 2, Interesting

      The Cell arch has very litle to do with the processoring elements themselves (even though they are quite interesting)
      The true power of Cell is the data rates that can flow inbetween the individual processors, memory and the IO back plane. It is a mini super computer on a chip because of the data rates, the processoring elements are secondary as they can be altered and changed for different "Cell" microprocessors.
      I wrote up a brief explaination with info about data rates, etc... here
      http://www.friendsglobal.com/cell.htm (Please, someone mirror the info cause my little server cant handle getting slashdotted)
      So once you can look beyond the individual processing elements and understand what potential this design has opened up you will realize that it is *very* impressive.

  16. You haven't spent enough time in the kernel by Anonymous Coward · · Score: 2, Funny

    That function name is way too long and descriptive. The acutal name would be something like addfunmemdestaddavsize().

    And that would be followed by a series of non-sensical parameters which can be defaulted to NULL and everything still seems to work fine.

    As for your question, that's why they make the big bucks and you are posting on Slashdot. If you knew the answer, you'd be working for them.

  17. Re:Perhaps he is right though by StarsAreAlsoFire · · Score: 2, Interesting

    Sounds like it belongs in an addon then. Not in a generic environment. Video, sound and 3D vector ops have very little in commen with, say, SQL queries.

    0x86 chips have added silicon AFTER, not BEFORE Microsoft created all of their sound and video extensions. Unlike the implication of GP. And MMX was a response to the fact that 'omg! People use video and sound!'. Linux and anyone else is free to take advantage of the extra instructions, and is the case with Linux at least.

    If Cell doesn't have special instructions for doing quaternion rotations then I don't give a crap how fast it is: an Intel/AMD/0x86 chip will walk all over it in video operations.

    And even if Cell does... can that make it a great generic OS processor? Nope! Takes a lot more than that!

    As in everything, time will tell. I certainly do hope that it is a revolution; I foresee living through very few GOOD revolutions during my lifetime. The more the merrier.

  18. Re:old wave, actually by JabberWokky · · Score: 2, Insightful
    Too be fair, it was the introduction of the mass production IC that allowed computers to be priced to where people could afford them (as opposed to large corporations and governments). Those early CPUs were very very underpowered compared to the "real computer" counterparts and OSes like CP/M and DOS were reflections of those limitations.

    Cheap, but limited.

    --
    Evan "My first computer was an S100 bus handbuilt. My first OS wasn't."

    --
    "$30 for the One True Ring. $10 each additional ring!" -- JRR "Bob" Tolkien
  19. No... HE's right here by koi88 · · Score: 3, Funny


    If inconsequential details like what CPU is sitting at the heart of Apple's proprietary design causes you emotional distress you really need to reconsider your life.

    This is Slashdot, man. If we had a "life" to reconsider, we wouldn't be here.

    --

    I don't need a signature.
  20. The Cell Advantage by EMIce · · Score: 2, Insightful

    Those SPEs will be pretty useful for massaging and distilling large streams of data, which should make the cell great at tasks like video recognition and real-time market analysis. The cell may not be that revolutionary as parallelism has been touted in academia for a long time now, but the DSP like capabilities + parallelism will make the cell much more capable of responding quickly to complex sensory input than commodity hardware currently allows.

    I picture the PS3 using a camera as a very flexible form of input to allow for more creative game design. Super-fast compression and decompression also come to mind, which could be useful for more complex and fluid internet play.

    Recent articles have said the cell will have some hickups with physics and AI, because those tasks benefit from branch prediction, but this should be made up for by the fact that the cell will be able to recognize input at a far more human level than present technology affords.

    1. Re:The Cell Advantage by EMIce · · Score: 2, Interesting

      I just though of something else. A cell powered robot would be incredibly powerful. With the right algorithms to recognize critical feedback for a particular task, the cell could allow the robot to respond quickly to complex stimuli, filtering and focusing on the few elements which are relevant to the task. Think of a robot capable of competitevely playing a physical sport, given the right "muscles".

      Also, while AI and physics performance are limited in some respects, as I mentioned in the last post, I just realized the cell could come up with some neat AI and physics by recognizing patterns in human players imitating them, through fast computation involving bayesian logic. This should be incredibly effective if done right, as the possible counter-moves could be based in some sort of self-refining, relationally accessed, and pre-calculated data set, cutting down on branch predictiction intensive processing by the PPE unit.

  21. Re:Perhaps he is right though by AHumbleOpinion · · Score: 3, Interesting

    If the SPUs can be harnessed or even parts of/entire OS's rewritten to utilise the chip properly Cell could wipe the floor with anything Intel could come up with.

    The SPUs are not for the OS, they are for high level libraries or apps. They are for highly specialized computationally intensive jobs. Maybe OpenGL could benefit but not the OS. FYI:

    "Unlike existing SMP systems or multi-core chips, only the general purpose PowerPC core, is able to run a generic operating system, while the SPUs are specialized on running computational tasks. Porting Linux to run on Cells PowerPC core is a relatively easy task because of the similarities to existing platforms like IBM pSeries or Apple Power Macintosh, but does not give access to the enormous computing power of the SPUs. Only the kernel is able to directly communicate with an SPU and therefore needs to abstract the hardware interface into system calls or device drivers. The most important functions of the user interface including loading a program binary into an SPU, transferring memory between an SPU program and a Linux user space application and synchronizing the execution. Other challenges are the integration of SPU program execution into existing tools like gdb or oprofile."

    http://www.linuxtag.org/typo3site/freecongress-det ails.html?talkid=156

  22. How much can we expect this workstation to cost? by mcc · · Score: 2, Interesting

    Is this supposed Cell/Linux workstation something we actually know jack squat about it, or is it just IBM going "uh, we're gonna make one of these... someday"? Can we make any educated guesses based on what IBM usually does?

    Specifically, is this, like, something that will be actually in the affordable range for people, or is this going to be like some kind of $6000 near-server tank?

    Also, how many Cells is this likely to have? One? Two? Four? These SPEs are all well and good for computational stuff but the rest of the time it's nice not to be stuck with a single processor.

  23. Cell-less by necrodeep · · Score: 2, Interesting

    With all the continuing good news about the evolution of the PPC, including the Cell processor, I find it hard to believe that Apple has choosen now to move to Intel chips... and the developer workstations are only 32bit no less (I think they could have at least gone with AMD64).

    The good news is that someone is at least taking advantage of the architecture and producing linux workstations based on the Cell... unfortunately i don't think tht will be enough for it to survive in the desktop/workstation market. I fear that unless Microsoft ends up releasing a new PPC version of Windows (which i consider unlikely at best), PPC is soon to be relegated to Servers, Gaming Stations and the embedded market only.

  24. Re:Perhaps he is right though by rpozz · · Score: 2, Interesting

    I think the fact that Apple have switched to x86 at this point could very well mean that they've seen the Cell, and it's no where near as good as it's supposed to be.

  25. Re:Congrats Apple and Steve! by tigersha · · Score: 4, Funny

    I have a better idea. I'll send you my address and you send your worthless G5 to me! I'll even pay postage!

    --
    The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
  26. Cool processor by __aahlyu4518 · · Score: 5, Funny

    Maybe Apple would like to use a nice IBM chip :-)

  27. Unix used to have that role by Per+Abrahamsen · · Score: 4, Interesting

    When you had some new hardware, you bought a (relatively cheap) Unix source license, and had something running fast

    Linux is better though, because the GPL encourage hardware vendors to share their modifications.

    With Unix all you had access to was the original source, and the ports done by non-commercial/academic groups (source as UCB). Not other vendors code.

  28. A Linux kernel in Verilog? ;-) by RKBA · · Score: 3, Interesting
    ...It's only limitation is the number of chip instruction sets supported by gcc and the imaginations of hardware manufacturers.

    I have news for you,... we programmers have been letting the hardware designers have FAR too much fun for far too long! It wasn't until my recent retirement from more than 35 years of computer programming (I've had many different titles) that I've had the time to learn the Verilog hardware design language - and it's GREAT FUN!!! :-) Verilog is very liberating because it removes the boring sequential execution of most CPU's and provides a clean slate with which to design any sort of little tiny electronics machine (that's how I think of VLSI design) that my heart desires. There is a GPLed version of SystemC (a higher level hardware design language than Verilog) on SourceForge that I've been meaning to take a look at, but first I'm creating a 640 bit-wide(!!!) factoring machine in Verilog which I hope to fit into one of the Lattice or Altera FPGA parts.

    Really, I highly encourage programmers or anyone interested to learn and use Verilog or some other high level hardware design language. Verilog is similar in many ways to the C language, so if you're familiar with C then you already know most of Verilog's operators, precedence rules, etc. The only thing that takes a little getting used to is Verilog's inherently parallel nature. That is both its strength and the source of most Verilog design errors (at least for me). Also, Verilog is even more bit-picky than C but I sort of actually prefer the extra control that languages like C and Verilog give me over the hardware versus languages that try to insulate me from it.

  29. And yet again the Cell fanboys by tesmako · · Score: 5, Interesting
    In this thread I have already seen several posts talking about the worthlessness of the ill-designed x86 and the wonders of the simple Cell. The problem is that while the x86 instruction set is old and very tacky the internals of the processors has evolved to be best-of-breed modern chips, lots of execution units with excellent out-of-order performance and branch-prediction, very high clockrates with nice IPC.

    The Cell also is simple, but in a way that that inflates the gflop rating at the cost of programmer time.

    • Multicore, requiring the programmers to extract explicit parallelity (granted, this is coming everywhere, but really, the fewer better-performing cores there are the easier they are to utilise well).
    • A whole pile of vector units (it is very hard to fill even one or two vector units well, this will be a huge time-sink for any project trying to utilise it even half-way well).
    • An in-order primary CPU core, what is this, the eighties?! And if you think this will be like stepping back to how it was with in-order cores a decade or two ago, think again, memory latencies are higher, pipelines are deeper, you'd better pray that your compiler gets lucky to get any real performance out of the primary core (or many sleepness nights hand-optimizing it).
    • Hand-managed memory hierarchy?! This is not even a throwback to the eighties, this is a whole new level of inconvenience for the programmer. Where all normal CPU's carefully handle the memory hierarchy for you, in the Cell it is suddenly up to the software to handle where and when and why memory is in the "cache" of the vector elements.

    By comparison the modern x86 is a dream to program for, just note how two fairly radically different cpu's (Athlon64 and the P4) handle the same code very nicely without any big performance issues. Compare this to the Cell, where all the explicitness will make sure that any binary you write for the Cell today will run like crap on the next version.

    The point here is that Apple could absolutely not have switched to the Cell, it is inconvenient now and hopeless to upgrade without having to rewrite a ton of assembler and recompile everything for the new explicit requirements.

    The Cell is the thing for number crunching and pro applications where they are willing to spend the time optimizing for every single CPU, but for normal developers it is a step back.

    1. Re:And yet again the Cell fanboys by Sweetshark · · Score: 2, Insightful

      The Cell also is simple, but in a way that that inflates the gflop rating at the cost of programmer time.
      Well, not the average application coder, but the compiler guys. And thats the right thing to do. x86 is a hardware VM with a hardware JIT-compiler right now. This is a job that is better done in software at compile time and not realtime in execution. (An exception would be bandwidth limitations as they were reported for the Transmeta-CPU (IIRC) running native VLIW code.) Abstraction is nice. But it doesnt belong in hardware - it belongs in the language and the compiler.

    2. Re:And yet again the Cell fanboys by tesmako · · Score: 2, Insightful
      While this is a nice thing to say it is not realistic today, Intel already tried with the Itanium to push the handling of instruction level parallelism to the compiler, with poor results. This has been a meme for easily 20 years (VLIW has been a research darling for a long time) but compiler technology has just not measured up to the expectations.

      While it might be the way of the future, it is very much a thing of the future, not the present.

      Expect to see lots of carefully hand-tuned code for the Cell to make it behave.

  30. Unfortunate name by SleepyHappyDoc · · Score: 5, Funny

    I was talking to a friend about this new Cell processor they were going to have in the PS3, that was supposed to have all these nifty new capabilities, and he was looking at me like I'd grown another head. I asked him why he was looking at me so oddly, and he said, "Dude, Celerons are not that good."

    --
    Stasis is death. Embrace change.
  31. Wrongo by Urusai · · Score: 4, Interesting

    In case you don't remember, the point of RISC was to put optimization on the compiler so it wouldn't require massive on-the-fly speculative bibbledy-bop with millions of extra transistors and hideous pipelines like we have nowadays. This was done by providing, essentially, a compiler-accessible cache in the form of lots of registers, and by having an instruction set that was amenable to automated optimization.

    In theory, you don't need any GP registers at all, you could just have memory-memory ops and rely on the cache. This is impractical due to the size of memory addresses eating up your bandwidth (incidentally, this is a problem with RISC architectures, eating bandwidth and clogging the cache, but that's another story). As an alternative, you can simply expose the cache as one big honking register file using somewhat smaller addresses, and let your fancy-pants optimizing compiler do its best.

    The real problem seems to be that compilers have just not been able to keep up with the last 20 years of theory. Witness the Itanium--in theory it should have been the ultimate, but they didn't seem to be able to get things optimized for it (other problems, too). Then what happens are curmudgeons complain about the extra work of optimization and insist on setting us back to early 80s architecture rather than writing a decent compiler.

    Moral of the story: write a decent compiler and stop trying to glorify crappy ISAs that suit your antiquated and inefficient coding habits.

    1. Re:Wrongo by tesmako · · Score: 5, Interesting
      The problem with that moral is that compiler technology is nowhere near where it needs to be. Doing VLIW and other explicitly parallel architectures has been a research darling for many years, it just so happens that compiler technology fails to really make it work as things stand.

      Compilers do manage to do decent jobs in some cases, especially with languages that are easier to do semantic analysis over than C/C++, but while it is interesting research it is not a practical way to go. The reality is that C/C++ is prevalent, and highly detuned code is abundant. This also fails to address the problem of migrating between versions of the processor, while recompiling everything every time is a way to go it is not terribly practical (and when every new processor will fail to measure up to the old in the users old apps the user will not be happy).

      It is a bit odd that you bring up the Itanium since it is the best argument for this stance, there has not been any lack of effort in the compiler technology for the Itanium, the compilers are real marvels leveraging the very best the research has to offer. The silicon itself is very powerful, if you manage to actually fill all the instruction slots the thing will really fly. Unfortunately they never do, they get 50% fills and such, and the problem is that a modern sophisticated OoO processor will do an equally good job extracting parallelity on the fly while offering more flexibility.

      A large part of the problem, and the reason why multithreaded models are becoming pervasive, is that OoO processors actually extract very close to the maximum in instruction level parallelism even with near-infinite window-sizes (I recommend the paper at http://citeseer.ist.psu.edu/145067.html), so automatic vectorization of ILP is not a field to pin much hope on.

      My final note is that; While having sophisticated issue logic is fairly complex, the chip real estate is not that large, and the gains to be made are huge. The Cell has a weak primary processor, mostly meant to be an organizing hub for the vector operations, if you don't write vectorized code you are screwed (unless compiler technology does something amazing soon).

    2. Re:Wrongo by joib · · Score: 2, Insightful


      In case you don't remember, the point of RISC was to put optimization on the compiler so it wouldn't require massive on-the-fly speculative bibbledy-bop with millions of extra transistors and hideous pipelines like we have nowadays. This was done by providing, essentially, a compiler-accessible cache in the form of lots of registers, and by having an instruction set that was amenable to automated optimization.


      Yes, at least in the beginning in its most pure form. Most high performance RISC architectures eventually adopted all those OoO, pipelining etc. tricks anyway.


      In theory, you don't need any GP registers at all, you could just have memory-memory ops and rely on the cache.


      Such "register-less" architectures have been researched, yes. Their primary downfall was that as the compiler has no way of knowing which memory currently happens to reside in cache (as you probably know, cache loading/eviction is decided at runtime based on the memory access pattern), the memory access time is non-deterministic. So there was no way the compilers could schedule the instructions in an intelligent way, and thus such an architecture would have to rely on some really fancy OoO scheme with a huge lookahead (=lots and lots of transistors) to get anywhere near decent performance.


      The real problem seems to be that compilers have just not been able to keep up with the last 20 years of theory.


      What theory? Optimizing code generation is a very hard problem, and if theory had provided some easy answer to it, the compiler vendors would have implemented it really quickly.


      Witness the Itanium--in theory it should have been the ultimate, but they didn't seem to be able to get things optimized for it (other problems, too). Then what happens are curmudgeons complain about the extra work of optimization and insist on setting us back to early 80s architecture rather than writing a decent compiler.


      Well it seems that we have to agree to disagree then. My opinion is that the godlike compiler you seem to think is just around the corner only if those curmudgeon compiler writers would get off their fat sorry asses, hasn't arrived because despite all compiler research we still haven't got much of a clue about how to make it.


      Moral of the story: write a decent compiler and stop trying to glorify crappy ISAs that suit your antiquated and inefficient coding habits.


      My moral: Write your code in a high-level portable language that isn't tied to some specific ISA. Don't get emotionally attached to ISA:s, whether positively or negatively. Judge the goodness of an architecture on how well the compiler + hardware executes the code, not on theoretical figures unlikely to be reached in practice.

      Example of the above moral: Despite the supposed crappiness of the x86 ISA, it still manages pretty good performance (and in most cases unbeatable price/performance), even with a performance-wise mediocre compiler like gcc.

  32. Re:So what's the deal with you linux zealots? by Slashcrap · · Score: 2, Insightful

    Oh wow, I don't know where to start.

    There's only one thing worse than repetitive, uncreative, irrelevant trolls.

    It's the fucktards that reply to them on a point-by-point basis as if it does anything other than justifying the trolling.

    Next time you feel the need to reply to such a lame, obvious troll, try sucking your own cock instead. It's an endeavor that will doubtless keep you occupied for days and be far less distasteful to onlookers.

  33. Re:Perhaps he is right though by rpozz · · Score: 4, Insightful

    I doubt this is the result of a 5 year plan simply because Jobs loves Intel. That's just pure insanity.

    The other possibility is that Apple have got seriously pissed off watching IBM spew out the 3-core G5 for the XBox 360, the Cell for the PS3, and leaving them with an aging 2.7GHz CPU.

  34. "Real Use" != "Real Work" by Moraelin · · Score: 2, Insightful

    You confuse "Real Use" with "Real Work". You can "use" a lot of stuff, without it counting as "work".

    E.g., you get some real use out of your bed at home, but I wouldn't say sleeping there counts as "work". (Or if it does, where can I sign up to get paid for it?) And screwing doesn't really count as work for most people either.

    E.g., you get some real use out of your TV, but most people don't get paid to watch TV, nor consider it "work".

    Same here. Playing a game _is_ "real use" of a computer. It might not be "work", but "use" it is.

    --
    A polar bear is a cartesian bear after a coordinate transform.
  35. Re:Could be the replacement for my Macs by tomstdenis · · Score: 2, Insightful

    x86_64 has 16 GPRs and 16 XMM [simd] registers.

    I think you'll find the gains from 16 extra registers is less than what the [for example] AMD gains from having three pipelines, register file, etc...

    It's like cache, throwing more registers pays off big to start [say going from 1 to 2, 2 to 4, ...] but dies off quick after that.

    Take apart that 5% of your program that takes 95% of the time and see how many registers it actually uses in the inner loop.

    With bignum math for instance, inner loops usually amount to 3 registers for an accumulator, 1 for a step counter, 2 for source pointers and 1 for an outer loop counter, 7 registers in total...

    Take the EM64T case, it implements x86_64 as well but AMD still pwnz it bad. Why? Well let's see, three [not one] dedicated decoders, three ALU pipelines with 8-step schedulers [re parallelism], etc...

    Intel still pwnz AMD when it comes to SSE2 and memory ops but that gap has been closing with every new AMD release [AMD64 for instance has more SSE2 opcodes implemented as directpath instead of MicroROM] where in the Intel camp their cpus haven't really been getting ANY better...

    Tom

    --
    Someday, I'll have a real sig.
  36. Re:Perhaps he is right though by jusdisgi · · Score: 2, Interesting

    I'd even take it a step further; by going cross-platform with the OS, and abstracting the binary compatibility issue away with XCode and Rosetta, they are now no longer beholden to any chipmaker. Intel is probably giving them a sweet deal (they are a pretty high-volume seller, after all), but should that deteriorate, they can always go over to AMD. Or back to IBM for power/cell chips. And in fact, they can do all at once....if they decide they want to have pentium-M in the laptops, cell in the desktops, and opterons in the servers, no problem.

    That's so far the only way I can view Apple's move yesterday that makes any sense to me. This is more than just another archetecture move...it's a move above archetectures.

    --
    Given a choice between free speech and free beer, most people will take the beer.