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."
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.
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
Maybe Apple would like to use a nice IBM chip :-)
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.
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).
Okay what do we know about IBM:
What does that mean?
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.