Personal computing discussed

Moderators: renee, Flying Fox, morphine

 
geekl33tgamer
Graphmaster Gerbil
Topic Author
Posts: 1023
Joined: Tue Aug 25, 2009 7:25 pm
Location: England
Contact:

Cell Microprocessor's

Fri Dec 10, 2010 4:44 pm

Has this been asked before?

We are having a debate here about the Cell Processor, and why it's not used in desktop computers these days. Afterall, it's a fast little thing (In the PS3 at least), and is technically very advanced. I read a wiki article on it's creation moments ago, but found it a little confusing. On paper, it's looks pretty potent, while on the other hand, a linked article shows Windows XP running on a PS3. Taking 30 minutes to get to the desktop...

...So, 2 questions I could not really clear up after reading the article:
- Just why are we not using these today in our home PC's?
- Why's it so slow running Windows?

TR Gerbil feedback will help settle this argument! FWIW, I have been trying to stick to "Windows can't run on Cell Processors. The CPU instruction set is not compatible" train of thought, but I am loosing that battle!
Mega Beast - Intel i7 4790K | Gigabyte Z97X-UD3H-BK | 32GB DDR3 | SLI GTX 1070 | Samsung 850 Evo 1TB
Mini Beast - Intel C2E QX9770 | Gigabyte X48T-DQ6 | 16GB DDR3 | KFA2 LP GTX 750Ti | Seagate 2TB SSHD
 
cphite
Graphmaster Gerbil
Posts: 1202
Joined: Thu Apr 29, 2010 9:28 am

Re: Cell Microprocessor's

Fri Dec 10, 2010 4:54 pm

I'm thinking it's because when you're building a PC it's just so much cheaper not to have to deal with the tiny size. Just a guess.
 
geekl33tgamer
Graphmaster Gerbil
Topic Author
Posts: 1023
Joined: Tue Aug 25, 2009 7:25 pm
Location: England
Contact:

Re: Cell Microprocessor's

Fri Dec 10, 2010 5:12 pm

Hmm, maybe. They are small, but are they that expensive to buy? An entire PS3 sells for about £230 - Clearly thats not all on the cost of the CPU...
Mega Beast - Intel i7 4790K | Gigabyte Z97X-UD3H-BK | 32GB DDR3 | SLI GTX 1070 | Samsung 850 Evo 1TB
Mini Beast - Intel C2E QX9770 | Gigabyte X48T-DQ6 | 16GB DDR3 | KFA2 LP GTX 750Ti | Seagate 2TB SSHD
 
TurtlePerson2
Graphmaster Gerbil
Posts: 1171
Joined: Sat May 26, 2007 9:08 am
Location: Dallas, Texas

Re: Cell Microprocessor's

Fri Dec 10, 2010 6:47 pm

rcs2k4 wrote:
- Just why are we not using these today in our home PC's?

Why aren't we running our PCs on GPUs? GPUs are much more powerful than CPUs in terms of FLOPS, so why not just use those to do everything.

The ISA (instruction set architecture) has something to do with it. There's a reason that when Apple made the transition to Intel chips old software didn't work anymore. The PowerPC architecture is different than x86, so executables for PowerPC won't work for x86.

I don't know enough about the Cell architecture to really be any more specific.
"TORTURIS EXUVIAS EUNT"
Phenom X6 1090T @ 3.2 GHz
XFX Radeon RX 580
 
Unanimous Hamster
Gerbil In Training
Posts: 1
Joined: Tue Jul 18, 2006 6:03 pm

Re: Cell Microprocessor's

Fri Dec 10, 2010 7:43 pm

A few years ago I downloaded and briefly skimmed through IBM's official Cell programming guide (about 1000 PDF pages!), so let me see what I can remember:

* Cell is a highly parallel CPU. Much x86 software runs on 1-2 cores even today. To take advantage of Cell, a program would have to be highly optimized for Cell and parts of it recoded. This is complicated by the fact that Cell has 8(!) CPU cores: 1 "PPE" and 7 "SPEs", which (believe it or not) actually use 2 completely different instruction sets (ISAs). Thus recoding an x86 program to run on Cell would be quite a nightmare.

* Cell is an in-order design. x86 CPUs are out-of-order, meaning they can re-prioritize and re-arrange code during execution to optimize the CPU's performance; Cell cannot do this.

* The 7 SPEs on the Cell are highly specialized CPU "cores" which are specifically designed to handle certain kinds of arithmatic (mostly floating point). These types of operations are commonly found in multimedia workloads like gaming, but many x86 programs rely heavily on integer arithmatic, which doesn't work well on the SPEs.

* x86 CPUs do many other optimizations on-the-fly while executing code. For example, x86 CPUs commonly prefetch data that they might need from memory into the cache. They also try to predict which route a branch might take. The Cell's SPEs do neither of these thing, so it's up to the programmer to do these things manually. That's right ... the Cell actually requires a programmer to tell the CPU ahead of time what data it will need and to manually fetch that data, as well as to tell the CPU what direction a branch is likely to take.

As you can see, optimizing code for the Cell is a nightmare. It's a very special-purpose CPU that excels at multimedia tasks like running games, but runs many other kinds of programs badly. x86 CPUs commonly do a lot of their own optimizations while running code, but the Cell (in order to save on transistors and therefore CPU cost) requires programmers to "hold the CPU's hand" and optimize practically every single bit of code. So code that hasn't been heavily tweaked and optimized (as is the case for much x86 code) tends to run very poorly.

So while the Cell might excel at running certain kinds of highly optimized code (eg games) it's very bad at running almost every other kind of program, and therefore can't replace a general purpose x86 CPU.
 
wibeasley
Gerbil Elite
Posts: 952
Joined: Sat Mar 29, 2008 3:19 pm
Location: Norman OK

Re: Cell Microprocessor's

Sat Dec 11, 2010 1:23 am

Even Cell proponents in 2007 agreed with Unanimous Hamster:
Dr. Dobb's article wrote:
The bad news is that it's difficult to program: Software that exploits the Cell's potential requires a development effort significantly greater than traditional platforms. If you expect to port your application efficiently to the Cell via recompilation or threads, think again.
(The article's real link isn't working currently)
 
geekl33tgamer
Graphmaster Gerbil
Topic Author
Posts: 1023
Joined: Tue Aug 25, 2009 7:25 pm
Location: England
Contact:

Re: Cell Microprocessor's

Sat Dec 11, 2010 1:20 pm

Unanimous Hamster what a great first post, and welcome to TR.

I didn't realise the Cell Processor had to be handheld like that. This would be why the insane user who posted a video of XP running on the PS3 showed it taking just over 30 minutes to boot up then. Laughable when you consider even the weediest Atom CPU will do it in about a minute.

So, I understand why it's not easy converting even the most multi-threaded program from x86 to Cell, but for games at least, this programming expertise must already exist - We have the PS3. So why no push to have graphics cards use Cell Processors? Are Nvidia's and ATI's GPU's even faster, making the Cell redundant or a bottleneck? If thats the case, another question...

We have programs that use CUDA and Stream (Used the latter), mostly to convert/encode video - They run rings round a CPU, and do the work in 1/10 of the time my Athlon would take. Would it not be to hard to use GPU's to replace CPU's for everything, or are we back to the same problems as Cell again?
Mega Beast - Intel i7 4790K | Gigabyte Z97X-UD3H-BK | 32GB DDR3 | SLI GTX 1070 | Samsung 850 Evo 1TB
Mini Beast - Intel C2E QX9770 | Gigabyte X48T-DQ6 | 16GB DDR3 | KFA2 LP GTX 750Ti | Seagate 2TB SSHD
 
nerdrage
Graphmaster Gerbil
Posts: 1314
Joined: Thu Mar 06, 2003 2:49 pm
Location: Raleigh, NC

Re: Cell Microprocessor's

Sat Dec 11, 2010 1:36 pm

Unless you're writing code in assembly, "hand-holding" the CPU is the compiler's job, not the programmer's.

The reason XP (or any other x86 code) runs slowly on the Cell is because the Cell ISA needs to be translated to the x86 ISA before it can be executed. Typically, this translation has a high overhead and you will also lose most/all compiler optimizations as well. Also keep in mind that booting just about any OS is largely an I/O bound operation, not CPU bound, so that 30 minute boot time may have nothing to do with the CPU it's running on and instead is probably due to the disk being used.
i5-9600K · Z390 Aorus Pro · 16GB G.Skill DDR4-3200 · MSI TwinFrozr HD7850 · Intel 760p 512GB · WD 1TB · HP ZR24w · Corsair VX450 · Antec Solo · Win10/Ubuntu 18.10
 
FuturePastNow
Gerbil Elite
Posts: 608
Joined: Mon Nov 24, 2008 11:28 am

Re: Cell Microprocessor's

Sat Dec 11, 2010 7:18 pm

The Cell has a single general-purpose core plus the eight SPEs. That core is an in-order PowerPC core clocked at 3.2GHz, and since Linux runs (or used to) on the PS3, we have benchmarks showing that it, by itself, blows as a CPU. Without the SPEs, it's about as fast as a 1.6GHz single-core Power Mac G5.

The SPEs are marvelously fast at running certain types of code which can be used by game designers. Physics code, AI code, stuff like that. Scientific calculations are the same thing, which is why you see supercomputers and Folding teams based on the PS3 and Cell. Basically, the lesson here is that it's possible for a processor to be really fast at some tasks and really slow at others.

Cell's strong points are not terribly useful for an operating system or for general PC tasks like web browsing or word processing. And it's not x86, so if you saw Windows XP running on a PS3, it was running in emulation, which is godawfully slow even on fast hardware.
 
Shining Arcanine
Gerbil Jedi
Posts: 1718
Joined: Wed Jun 11, 2003 11:30 am

Re: Cell Microprocessor's

Mon Dec 13, 2010 3:30 pm

rcs2k4 wrote:
Has this been asked before?

We are having a debate here about the Cell Processor, and why it's not used in desktop computers these days. Afterall, it's a fast little thing (In the PS3 at least), and is technically very advanced. I read a wiki article on it's creation moments ago, but found it a little confusing. On paper, it's looks pretty potent, while on the other hand, a linked article shows Windows XP running on a PS3. Taking 30 minutes to get to the desktop...

...So, 2 questions I could not really clear up after reading the article:
- Just why are we not using these today in our home PC's?
- Why's it so slow running Windows?

TR Gerbil feedback will help settle this argument! FWIW, I have been trying to stick to "Windows can't run on Cell Processors. The CPU instruction set is not compatible" train of thought, but I am loosing that battle!


People at Sony and IBM are not interested in commoditizing them. Also, Intel and Microsoft both have a vested interest in preventing alternative architectures from coming to market, so they exert great pressure on companies to sell only x86 based products. There was a big push to bring ARM based systems to market and so far, not a single one has been brought to market. There are plenty of people, myself included, who wanted them, but because it represents a threat to Wintel, the powers that be made certain that we cannot get our hands on them, at least not in any form that is equivalent to what is available for Wintel.

As for running Windows, Windows is compiled for x86 systems, so running it on anything else requires emulating the x86 ISA. Since the Cell processor does have a hardware decoder for the x86 ISA, the x86 ISA must be decoded in software and that is slow.
Disclaimer: I over-analyze everything, so try not to be offended if I over-analyze something you wrote.
 
ChronoReverse
Gerbil Elite
Posts: 757
Joined: Wed Dec 12, 2007 4:20 pm

Re: Cell Microprocessor's

Mon Dec 13, 2010 3:40 pm

rcs2k4 wrote:
So, I understand why it's not easy converting even the most multi-threaded program from x86 to Cell, but for games at least, this programming expertise must already exist - We have the PS3. So why no push to have graphics cards use Cell Processors? Are Nvidia's and ATI's GPU's even faster, making the Cell redundant or a bottleneck? If thats the case, another question...

The PS3 was originally envisioned to utilize just Cell to do everything including the graphics. It now has a Nvidia 7800 derivative working together with Cell so that should tell you something.

Unfortunately, the 7800 derivative is also a little gimped so Cell's stream processors have to supplement the GPU. It's really a royal PITA to work with that compared to programming for the 360.

The SPE's are only somewhat more programmable than what you'd get from modern video card GPUs. You can generalize them as overachieving DSPs even. They're useful for stuff like crunching numbers and streaming media use but for branching gamecode, I don't believe they have any advantage (perhaps you could say they're even handicapped). Not that it matters since it's the PPE core that would be handling that (incidentally, the 360 has what's basically a triple core PPE skipping the SPE's).


We have programs that use CUDA and Stream (Used the latter), mostly to convert/encode video - They run rings round a CPU, and do the work in 1/10 of the time my Athlon would take. Would it not be to hard to use GPU's to replace CPU's for everything, or are we back to the same problems as Cell again?

Which ones have you tried? Are they free to use? It's been a while since I've tested h.264 CUDA encoding so I'd like to see if they've managed to work around the shortcomings.
 
Scrotos
Graphmaster Gerbil
Posts: 1109
Joined: Tue Oct 02, 2007 12:57 pm
Location: Denver, CO.

Re: Cell Microprocessor's

Mon Dec 13, 2010 3:50 pm

rcs2k4 wrote:
...So, 2 questions I could not really clear up after reading the article:
- Just why are we not using these today in our home PC's?
- Why's it so slow running Windows?

TR Gerbil feedback will help settle this argument! FWIW, I have been trying to stick to "Windows can't run on Cell Processors. The CPU instruction set is not compatible" train of thought, but I am loosing that battle!


It was slow running Windows because it was running Linux and then BOCHS or some other unoptimized machine emulator to get Windows booting. The lack of RAM couldn't have been helping, either.

You saw the same thing with VirtualPC when it was running on PowerPC Macs trying to load up Windows 95.

The closest you got to Windows on a Cell was when Windows NT 4.0 was ported to the PowerPC platform (I think IBM's PReP platform).

Toshiba had some Cells put to use in premium TVs and even as an accelerator for one of their laptops, see: http://www.pcworld.com/businesscenter/a ... _chip.html

I am unsure if any real add-in cards were made. I'm not counting HPC blades, here, but something like a Cell card akin to the old PhysX standalone cards.
 
Althernai
Gerbil
Posts: 88
Joined: Thu Nov 19, 2009 8:02 pm

Re: Cell Microprocessor's

Tue Dec 14, 2010 8:50 am

rcs2k4 wrote:
So, I understand why it's not easy converting even the most multi-threaded program from x86 to Cell, but for games at least, this programming expertise must already exist - We have the PS3. So why no push to have graphics cards use Cell Processors? Are Nvidia's and ATI's GPU's even faster, making the Cell redundant or a bottleneck?

Technology moves on. Cell is more than 5 years old now so even fairly mediocre modern CPU+GPU combinations are superior by more than a factor of two.

If thats the case, another question...

We have programs that use CUDA and Stream (Used the latter), mostly to convert/encode video - They run rings round a CPU, and do the work in 1/10 of the time my Athlon would take. Would it not be to hard to use GPU's to replace CPU's for everything, or are we back to the same problems as Cell again?

It's not just hard, it's outright impossible. Read up on Amdahl's law. GPUs have a substantial advantage over CPUs only in tasks that can be split into many parallel sub-tasks of roughly equal difficulty, but most tasks people are interested in are not like that: they might have a few tasks that can be offloaded to multiple cores, but much of the work is in a single thread that cannot be split up. Sometimes you can fix this by changing the programming, but usually it's just the nature of the task. That said, the GPU can be of use in quite a few places -- this is why both Intel and AMD are focused on merging the CPU and GPU.
 
Glorious
Gerbilus Supremus
Posts: 12343
Joined: Tue Aug 27, 2002 6:35 pm

Re: Cell Microprocessor's

Tue Dec 14, 2010 10:41 am

SA wrote:
People at Sony and IBM are not interested in commoditizing them.


I'm sure they'd love to, it's just that there isn't a market for them on the desktop.

SA wrote:
Also, Intel and Microsoft both have a vested interest in preventing alternative architectures from coming to market, so they exert great pressure on companies to sell only x86 based products.


Why would Intel even bother? The only places where other architectures have a chance is the embedded/mobile space where x86 has virtually no presence and no current viable products. x86 is either the only option or it's no option at all. There's simply no room for "great pressure."

As to Microsoft, are you living under a rock? Haven't you seen the Windows Phone 7advertisements everywhere? Do you think it runs on x86? No, ARM. Microsoft even made windows NT available on several architectures back in the day, no one cared. XBOX360 x86? No, PPC.

SA wrote:
There was a big push to bring ARM based systems to market and so far, not a single one has been brought to market


1994 called, it wants it's computer back.

http://en.wikipedia.org/wiki/Risc_PC

Oh, you meant, this past decade. Well, no. There's no money in making a machine for hobbyists. Just ask Jean-Louis Gassée.

SA wrote:
There are plenty of people, myself included, who wanted them, but because it represents a threat to Wintel, the powers that be made certain that we cannot get our hands on them, at least not in any form that is equivalent to what is available for Wintel.


OHMIGAWD ITSACONSPIRACY!!!!1111 :roll:

The reason they don't exist is precisely because they're not a threat. You and your five "friends" aren't a market worth bothering with, and thus no one in his right mind is going to waste untold millions chasing after the delusional fanatic market segment.

As to blaming "Wintel" for the lack of ARM equivalents to x86, really?

They're responsible for how hundreds of thousands of programmers haven't spent over decade churning out ARM software like they have x86?
They're responsible for the laws of physics in which a low-power, efficiency-based processor can't have the performance of a processor that has 3 orders of magnitude more power available to fuel computation?
They're responsible for the laws of economics which suggest a mature industry with ridiculous capital requirements is ill-suited for anything more than a duopoly?
They're responsible for the inherent problem of interoperability and the network effect?

No wonder you hateandfear "Wintel." You think they're some sort of dark malevolent god!

Also: Wintel? SRSLY? I'm having flashbacks to reading slashdot back in high school. In the late nineties. I thought it was delusional and silly back then.

Reversing Marx, perhaps things must happen twice. The first time as farce, the second time as tragedy. :wink:
 
jabro
Gerbil
Posts: 22
Joined: Fri Feb 27, 2009 12:40 am

Re: Cell Microprocessor's

Thu Dec 23, 2010 1:26 am

SA wrote:
People at Sony and IBM are not interested in commoditizing them.

Glorious wrote:
I'm sure they'd love to, it's just that there isn't a market for them on the desktop.


Sony, IBM, and Toshiba have tried like crazy to utilize the Cell processor in a number of way outside of the PS3. IBM incorporated the Cell processor into several different "accelerator" add-on cards that could be used for HPC applications, similar to Nvidia's current lineup of Tesla cards. Toshiba has developed a derivative of the Cell (I believe called the "Spurs Engine") with just four Cell SPE's and tried putting them into media processing add-on cards for Toshiba laptops and into their high end Regaza LCD TVs. However, IBM has discontinued their lineup of Cell based HPC products, instead opting to push Nvidia Tesla, and I don't believe anything came of Toshiba's Spurs Engine configured laptops (why the hell you'd want to add a cut down Cell to a laptop is beyond me), so Toshiba's Spurs Engine enabled Regaza TVs are the only place you'll be seeing a Cell derivative outside of a PS3.

SA wrote:
Also, Intel and Microsoft both have a vested interest in preventing alternative architectures from coming to market, so they exert great pressure on companies to sell only x86 based products.


Glorious wrote:
Why would Intel even bother? The only places where other architectures have a chance is the embedded/mobile space where x86 has virtually no presence and no current viable products. x86 is either the only option or it's no option at all. There's simply no room for "great pressure."


Intel has never worried about Cell encroaching into its traditional markets (laptop, desktop, server), though I'm sure that they would have loved to get one or two design wins in the current generation of gaming consoles (for the right price, of course). I can't imagine that Intel had to lift a finger to get companies to ignore the Cell - the Cell's difficult programing model, lack of development tools and existing software, and incompatibility with every other processor architecture took care of that itself. Now, Nvidia's recent success with CUDA and its Tesla GPGPU's could be a different story....

As for Microsoft, they commissioned IBM to design the XBox 360's "Xenon" CPU, which has three POWER (or is it POWER PC?) based cores that are identical to the Cell's PPE. That certainly qualifies as an "alternative architecture". It's always puzzled me as to why Microsoft would go with a non-x86 architecture for the XBox 360, all the while taking the traditional PC gaming market for granted or flat out relegating PC gaming to second class status. Perhaps Microsoft wanted as much control over the design and IP of the XBox 360 CPU as possible? I think that Microsoft neglects PC gaming at their own peril.

Also, the word on the street is that MS might make Windows 8 available for ARM as well as x86. I guess the Wintel honey moon is about to end:
http://fudzilla.com/notebooks/item/2131 ... run-on-arm

SA wrote:
There are plenty of people, myself included, who wanted them, but because it represents a threat to Wintel, the powers that be made certain that we cannot get our hands on them, at least not in any form that is equivalent to what is available for Wintel.


Glorious wrote:
OHMIGAWD ITSACONSPIRACY!!!!1111 :roll:


Ha ha ha - I think Glorious's response says it all.

The market forces that have incentivized Intel, and to a much lesser extent AMD, to invest who knows how many tens of billions of dollars into x86 CPU development and cutting edge semi-conductor fabrication technology over the last few decades have settled this matter, not scheming corporate fat cats sitting in a back room smoking cigars and plotting to deprive consumers of Cell based personal computers. Intel's leaders are no saints (just ask AMD or their former BFF's at Dell), but it is not their fault that software devs would rather invest their time and money in developing products for the existing x86 ecosystem which is second to none in market value, rather than on a new architecture with a dubious future.

Who is online

Users browsing this forum: No registered users and 1 guest
GZIP: On