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."
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" ??
Can't wait!
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.
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."
"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."
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!
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
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
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.
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!!!
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.
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.
t ails.html?talkid=156
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-de
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
Maybe Apple would like to use a nice IBM chip :-)
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.
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.
9/11 Eyewitnesses to Explosive WTC Demolition 1 of 2
The Cell also is simple, but in a way that that inflates the gflop rating at the cost of programmer time.
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.
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.
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.
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.