“The Cell processor has seemingly picked up a reputation for being incredibly difficult to program. However, this seems to be based entirely on expectation rather than experience. What’s the real story? Is it really that difficult? This article looks at the concepts involved in Cell programming.”
I was about to hit the link when I noticed the domain and the submitter…
I think I’ll wait with reading it. Might be that I’ll wait forever.
what’s wrong about Blachford?
If you read his other articles that has shown up on OSNews, it should be fairly obvious.
You could start with ArsTechnica Hannibals comments on one of Blachford’s articles from about 1.5 years ago.
http://arstechnica.com/news.ars/post/20050124-4551.html
Mr Blachford’s predictions about what’s now known as Intel’s Core marchitecture make for a mildly amusing read as well:
http://www.theinquirer.net/?article=25496
Edited 2006-06-23 12:07
So it didn’t happen right now. That doesn’t mean Mr Blachford is wrong.
The x86 ISA should be replaced. So what if everyone knows it and GCC is way optimized for it. It’s still not pretty, regardless of the underlying hardware.
If x86 can be a thin layer on top of something more modern, like Itanium, isn’t that the most natural/rational migration path?
If Intel doesn’t lead the way out of x86, AMD or somebody else will, eventually. Or perhaps I’m mistaken and they think EM64T and AMD64 is good enough.
If x86 can be a thin layer on top of something more modern, like Itanium, isn’t that the most natural/rational migration path?
AFAIR in 1997, intel thought of itanium as x86 64bit successor.
But AMD screwed things up =]
This is just another lesson what good backward compatibility is 90%(insert your favourite number) of success.
Oh no… The itanium had transparent backwards compatibility (I guess with some OS support) with x86. The initial Itanium had hardware x86 emulation; the more recent ones dropping it for software emulation (which is faster than hardware emulation).
I think the itanium didn’t do well initially mainly because its first iterations were delayed and still very slow compared to the competition.
I’m interested alot in new architectures and programming for them and was expecting to find a little more to read other than a superficial skim where most things “should” or “will” be provided by the compiler and a beginner’s introduction to threads.
BUT I was following some of the IBM links and found this http://www-306.ibm.com/chips/techlib/techlib.nsf/techdocs/9F820A5FF… , the “Cell Broadband Engine Programming Handbook”, and altough it’s rather long, it’s very interesting read, even to quickly skim.
I don’t agree with you. I found the article to be appropriate for the vast majority of OSNews readers. It is “introductory” enough to be understandable without any previous knowledge about the Cell, but it also goes into a fair bit of detail. It leaves the reader with a very representative idea of what programming for the Cell architecture is like. It won’t tell you everything you need to know in order to start programming the Cell, but it provides a good technical overview.
This article actually reminds me a lot of the internal IBM presentations I saw last summer regarding the Cell architecture. While this article is missing the nice diagrams and the impressive real-time-rendered HD interactive flyover demo, the level of detail is about the same: it is about as much as any non-Cell-programming professional programmer would want to know.
Let me know when you’ve re-written your article after having taken Intro to Computer Architecture. Then I’ll print a copy to wipe my ass with.
Any second year computer science major would have had a couple weeks of parallel algorithms. This really isn’t unique to the cell architecture. I was hoping too an example app. I don’t think think parallel programming is “incredibly difficult” just incredibly time consuming, to do a good job. I really don’t like it when I have to manage more than 4 threads in an app (unless they are simple request handlers). I do like the mailbox stuff though, thats overdue, normal SMP should have that. I hope commodity compilers get to the point of auto-parallelization soon.
> Any second year computer science major would have had a couple
> weeks of parallel algorithms. This really isn’t unique to the cell
> architecture. I don’t think think parallel programming is “incredibly
> difficult” just incredibly time consuming, to do a good job.
I don’t agree with this. I have met far too many people (CS students) who *think* that they can use threads when in fact they don’t know **** about it. I mean it: they knew absolutely nothing about the problems that can pop up and the bugs that are lurking in their programs. They just say: look it works, so what’s your problem?
The few weeks about parallel programming you mentioned just make people see the power, not the responsibility that comes with it. Pair that with some profs who have no idea how to explain it.
Parallel programming will have to come to work with future processors like the cell (or multicore CPUs, or whatever). However, I think that the paradigms used to write parallel programs have to change radically. In its current state, the problems from parallelism add to all other problems in programming, which are already overwhelming for all programmers (evidence for this is the number of bugs in avilable programs).
Its interesting to read about the CELL architechure, and the different programming models, but at the moment, this really only applies to game programmers, and a small niche of other tasks.
Unless IBM/Toshiba/Sony make a strong push into the commodity market, there’s not much point in getting excited about this stuff.
I personally think its really cool stuff, but unless Microsoft makes a port of Windows, its going to be priced out of even first-adoptors price range… unless they mod their ps3.