Linux For Cell Processor Workstation 310
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."
The Linux role in hardware design (Score:5, Interesting)
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.
Some words about Big Blue (Score:3, Interesting)
Re:The Linux role in hardware design (Score:5, 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.
Re:*sigh* (Score:5, Interesting)
Consoles are where PowerPC is at from here on out.
NB: This does not mean PS3 will run Linux (Score:2, Interesting)
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.
Cell may not be impressive at first glance (Score:4, Interesting)
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.
Re:Perhaps he is right though (Score:3, Interesting)
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.
Re:Perhaps he is right though (Score:4, Interesting)
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
How much can we expect this workstation to cost? (Score:3, Interesting)
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.
Cell-less (Score:2, Interesting)
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.
Re:Perhaps he is right though (Score:3, Interesting)
Re:The Cell Advantage (Score:3, Interesting)
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.
Unix used to have that role (Score:5, Interesting)
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.
A Linux kernel in Verilog? ;-) (Score:4, Interesting)
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.
And yet again the Cell fanboys (Score:5, Interesting)
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.
Wrongo (Score:4, Interesting)
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.
Re:real use? (Score:2, Interesting)
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.
Re:Wrongo (Score:5, Interesting)
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 [psu.edu]), 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).
Re:Oh JOY! Tux Racer on the PS3! (Score:1, Interesting)
Re:Cell may not be impressive at first glance (Score:2, 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 [friendsglobal.com] (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.
Re:Perhaps he is right though (Score:3, 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.