A Look Into The Cell Architecture
ball-lightning writes "This article attempts to decipher the patent filed by the STI group (IBM, Sony, and Toshiba) on their upcoming Cell technology (most notably going to be used in the PS3). If it's as good as this article claims, the Cell chip could eventually take over the PC market."
Posted only a couple of days ago too.
Timothy do you actually read Slashdot?
Cell Architecture Explained
Only if it complies with x86. Seriously, x86 will be around for a century.
The article was interesting, but we dont have to read it twice.
Maybe slashcode should have a link repository, if someone adds a new story with a link, they get a warning another story pointing to the same link was posted 18 hours ago...
We've even seen triple-dupes.
"Give orange me give eat orange me eat orange give me eat orange give me you." -Nim Chimpsky
Reading the article makes it seem like all computers will disappear. I find it so hard to believe that the new cell processors will be that advanced. I can believe they are good for specialized uses but not as a general computer.
-- To mess up an OS X box, you need to work at it; to mess up your Windows box, you just need to work on it.--
"Timothy do you actually read Slashdot?"
Here's a better question. If he will not, why should we?
The original PS2 design was for a dataflow architecture - the Cell is a continuation (and significant evolution) of the theme. Interestingly enough, if this *does* take off it may be that the best programmers of tomorrow turn out to be the PS2 low-level guys, who've already written the algorithms that are about to be important.
In the PS2, the MIPS chip was there mainly to do the simple stuff, all the heavy lifting was done on the 2 vector processors, and they were designed to have programs uploaded into them and data streamed through them using a very flexible (chainable) DMA engine. Sounds similar (if in a limited sense) to the Cell chip itself.
Simon.
Physicists get Hadrons!
The last time I read about a revolutionary chip that would forever change the world and the company was so great they even had the Linux creator as a board member it turned out to be not much more than a loud fart in the wind. (Enter Transmeta)
This is a distributed-processing-capable chip. They're moving software into the chip, doing what software can do in a more compact and probably more efficient way. There's nothing revolutionary here and besides being a dupe story it's way overrated. The only attractive here is the fact PS3 will use it instead of embedding something open, like Mosix.
And no it won't "eventually take over the PC market."
Broken Hearts are for Assholes. - Frank Zappa
its very rare for a system to be able to be completely parallelised.
There will always be "critical sections", data which can only be used by 1 thread at a time, which limits how much it can be split up.. Then you have programs which cant be.. I mean, you can split up a game for instance into a sound, video, and keyboard threads easily. To really utilise parallel processing takes a massive amount of code, which with current languages, seems to make it a bit implausible to get a massive increase.
It should also be remembered that the G5's and G4's already have altivec, and even though this is on a much grander scale, there will always be bottlenecks that slow it down preventing 99% of commonly used apps from getting a significantly large increase..
Okay, who was down for Timothy on Saturday night for the /. Dupe Pool?
Do not anger the worm.
A measly 68k CPU with hardware that was autonomous.
A measly MIPS with hardware that is autonomous.
The only thing they need is to sync to the TV set.
The message on the other side of this sig is false.
Well, I think we all recognized that article was a little over enthusiastic but it does suggest some interesting possibilities.
First of all I want to say I think it is completly possible to make a processor with 8APUs and so forth. For starters PowerPC chips already have several seperate execution units on them, and I think they use fewer transitors than intel chips. Moreover, a huge chunk of the transitor budget goes to doing things like cache consistancy or complicated instruction prediction which is probably not used on the much simpler APUs.
Of course it seems like this is primarily of interest to game systems or signal processing applications (note that a 4 threaded 32 stream processors is just another way of saying 4 cell procesors, each has a PPC core with 8 APUs). However, I would not be so quick to dismiss this for the PC market. While it may be true that many individual applications may not easily multi-thread it seems we are approaching a point where the biggest complaint is not the maximum processing rate in one application but the ability to run multiple applications at once. On my computers I'm rarely if ever frustrated at the rate some program is running at, but slowdown in other programs when I run a processor intensive job or turn on a video. So while drawing a webpage may not be speed up by this processor drawing several webpages at the same time will be and that is the sort of thing which makes a big difference for the end user.
Also, a processor like this offers great possibilities for JIT and VM code. The main thread can dispatch instructions and threads to the APUs dynamically based on what is happening in the system. Also I find it interesting that IBM is going the same way as intel in pushing all the complexity on the compiler. It makes one wonder if itanium is really as dead as everyone thinks. Perhaps in 4 years when AMD can't squeeze anything more out of x86 intel will be ready to jump in having worked out all the bugs to their new chip.
If you liked this thought maybe you would find my blog nice too:
Dally's Merrimac processor.
It's so similar that you wonder if they lifted it from him. The only difference is that Prof. Dally's chip has a big cache.
All the programs that run on PC architectures expect certain things to be in place - they expect a single fast central CPU. They expect that good cache usage is important for performance. They expect to have access to gobs of RAM. Etc. Etc. The PS2 (and by extension the cell) is completely different.
Consider a different architecture. You have a job that consists of multiple things to do. Some of these can be easily parallelised, others are mainly sequential. Divide it up so the parallel ones are coded separately, maybe with some IPC to synchronise to some clock.
For a sequential part (say rendering the object list of a scene back to front to gain occlusion) the approach that worked for me on the PS2 (which is logically similar, if significantly less powerful) was to divide the job into tasks. Each task (say, one per object in the above) gets its own bit of code and knows about the data that it needs to perform its task.
The key thing is that the Harvard separation of code and data just isn't, on a PS2. You set up a DMA chain that loads the program into the processor, then streams the data through the program on the processor, lather, rinse, repeat. Make the chain self-submitting and you can effectively forget about that chunk of code now, it'll just happen.
This is still doing things sequentially (but we've agreed that this is a sequential task, right?) - the point is that it's being done highly efficiently within the architectural constraints. You have a dataflow architecture and even sequential code can hit the performance limits if you code to the architecture.
The Cell looks even more powerful, in that you can chain execution modules together, so you can load code into APU's 1,2,3,4 and stream the data through 1,2,3,4 automatically before it's considered 'done'. This was possible on the PS2, but
Simon
Physicists get Hadrons!
Paper Details:
If, for example, HDTV set-top boxes supported email, Word, and spreadsheets, it'd happen pretty quickly.
I'm not buying a console-style computer until it supports GCC out of the box. I want the freedom to compile my own software for a given machine and distribute it without having to go through a console maker that refuses to even talk to individual developers and smaller firms.
I've had for a very long time the suspicion that the XBox was basically just a big blindside at Sony. The XBox loses a huge amount of money, and looks as if it will continue to lose a huge amount of money right into the XBox 2 line; Microsoft must be doing this for some reason. My personal theory for awhile has been that at least one of Microsoft's motivations in spending all this money is because they see the Playstation as a potential future threat; i.e., they feared and fear that at some point the Playstation 2 or 3 or 4 will become so close in power and functionality to a PC that it will begin to supplant the PC for common tasks. This would be disastrous for Microsoft; their lockdown on the PC market is complete, but this doesn't protect them from the PC market itself being slowly eaten away at from the bottom by consumer electronics like the ones Sony makes. So to stave off this threat, Microsoft begins to instead grow the PC market it monopolizes downward, so that the PC (as it becomes the "Windows Media Center") begins to slowly suck up the consumer electronics market, competing directly with the Playstation, bringing the fight to Sony's door instead of Microsoft's. Since consumers wouldn't on their own be interested in a PC that supplants consumer electronics, Microsoft instead basically bribes them into being interested with subsidized hardware; they make a big money blackhole out of the XBox to undercut Sony's ability to maneuver with the Playstation, the way the money blackhole that was MSIE undercut Netscape's ability to maneuver.
This is, of course, all just conjecture.
But when I begin to see people seriously talking about the chip from the Playstation 3 eventually potentially being used in PC hardware, I begin to wonder if it's maybe reasonable conjecture...
Irritable, left-wing and possibly humorous bumper stickers and t-shirts
It's been said before, but mature industries tend towards three of something, such as GM-Ford-Chrysler. For CPUs, it has to be AMD64/ia32e, PowerPC, and SPARC. They're the only ones with any high-volume prospects. SPARC will certainly be in third place, with AMD64/ia32e and PowerPC duking it out for one and two. The fact of the matter is that Itanium won't be a mainstream processor, and PA-RISC, Alpha, and MIPS are all more-or-less EOL.
For operating systems it will still be Windows, Linux, and UNIX (predominately Mac OS and Solaris). Okay, that's four, but the other historical major players are all becoming niche legacy platforms.
For office suites, it'll be MS Office, StarOffice/OpenOffice.org, and iWork. The others are all niche players.
For browsers it'll be IE, Firefox, and Safari.
At least this will tend to simplify some things, because the non-Microsoft platforms will be fewer making supporting them easier. This is a good thing, IMO.
-- Microsoft is the most expensive commodity operating system and office suite vendor in the marketplace.
I think It's full of shit. The market price is not base on manufacture price but on performance level. If this new chip is faster than an x86 it will cost more. As the newness wears off and the price comes down it will level out based on "MIPS" or something. Remember when factory automation was going to allow all of use to work half days? It never happened. some of us still work full days and some of us are out of work. Someone forgot to factor in greed.
For my rebuttal,
AMD is better yet cheaper, Linux is better yet cheaper. WTF? guess i'll STFU.
The government which is strong enough to protect you from everything is strong enough to take everything from you.
"If it's as good as this article claims, the Cell chip could eventually take over the PC market."
And if I had 4 legs, I could outrun a dog.
But I don't, so I can't. And this chip won't be as good as the (overenthusiastic) article claims. It won't take over the PC market.
This chip will take over the PC market the same way that BitBoys took over the graphics card market; the same way that Transmeta took over the mobile CPU market; the same way that the Elbrus 2k took over the desktop CPU market. That way is: deliver endless hype that you can't possibly back up. By the time it hits the market, the hype will be so built up that people won't be able to help but to feel let down by the chip. Then they'll lose interest in the product.
This chip might be fast for the money, and enable them to put 4 cores in a consumer device like the Playstation, but it's not going to outperform (or even match) a CPU like the P4 or Athlon 64.
When will people learn to stop falling for the same tricks?
He also sold tens of thousands of these boxes to a government agency who's name is Not Said Aloud. Seems their early APU-like design was very good at some important things.
Cells are the Next big thing. PS3 will indeed kick ass - real time virtual video - and so will future Macs. Maybe they'll be the same thing, eventually.
Oh, BTW, was that Sony's head on stage at MacWorld?
This is big and deserves duping. But we'll wait for the next time its /. to consider what you'd do if you were Sun, Intel, or Microsoft
"Knowing everything doesn't help..."
Which is what this seems to resemble to me. http://vl.fmnet.info/transputer/
Microsoft - Where would you like to go today, Maybe Jail?
There is no trap so deadly as the trap you set for yourself
-Raymond Chandler, The Long Goodbye
In the article, they say the PS3 will have 4 Cells each running at 1.6v with 85W heat disipation!!! If that is true, they are not only going to need at least a 500W power supply (maybe significantly more), but also to get rid of 340W of heat! How is this going to fit under my TV?
If you pack more data in the pointers, you'll have applications that break in a few years when that extra address space is needed. Ask Apple what happened when they moved from the 68000 (32-bit addresses of which only 24 bits were used) to the Mac II's 68020 (32-bit addressing). Four Macs (the II, IIx, IIcx, and SE/30) actually had versions of QuickDraw in ROM using the top byte to pack extra data into the pointers, as you recommend, and then Apple had to patch the entire QuickDraw package in RAM to code around this. Untold numbers of apps broke also of course.
by that request [of availability of a compiler to the general public] i take it that your os of choice is either linux or some bsd variant.
As of early 2005, two leading desktop operating systems are Microsoft Windows XP and a FreeBSD variant. Windows supports GCC out of the box: use IE to download Firefox, and use Firefox to download MinGW.
this puts you outside of the user group a console style computer would be aimed for
It's not me as much as my audience. If I write a program, say a simple Tetris clone with a gimmick, I may want to GPL it and publish it on the Internet for download, not mailbomb every licensed game publisher, hoping beyond hope that one will take a game from a complete unknown. Look at "Get It Now" and the GAGIN hack, used to get user-created content onto a BREW cell phone.
Looks like pilot production should begin soon on a 90 nm. process similar to that used for current Athlon 64s and Opterons. No word in this article on initial clock speeds and power dissipation.
Anyone have additional info?
BTW, another article I hadn't seen linked claims that Cell will be relatively easy to program...seems that Sony learned from some of its PS2 mistakes. That contradicts a lot of the threads responding to the original article and this dupe.
Galileo: "The Earth revolves around the Sun!"
Score: -1 100% Flamebait
The PS2 was revolutionary, in that it was the first successful non von Neumann machine. There have been many exotic architectures along these lines, from the Illiac III to the Transputer to the nCube to the Connection Machine, but they've all been failures in the marketplace. The PS2 sold in volume and made money. That was enough to get people to develop techniques for programming dataflow machines, which aren't fun to program. Working out those problems delayed games for the PS2 by a year or two, but now it's been figured out.
Now that the techniques have been worked out, at least within the game development community, a new generation of the same approach makes sense. Especially for graphics, which parallelizes well. You can keep throwing hardware at graphics until you get to one processor per pixel per triangle, and still get performance improvements.
Note the limitations. Each vector processor has only 128K (not MB) of local memory. This is like DSP programming; you don't have much local storage. There's access to main memory, but it will stall the vector processor, so you can't overdo it. Bashing your problem into chunks that fit that constraint is a major hassle.