• Hey Guest. Check out your NeoGAF Wrapped 2025 results here!

PlayStation 3 Cell chip aims high

Marc said:
As far as I remember, Xbox 2 CPU won't even be the same thing
Considering MS would have to switch memory providers to Rambus for that, yeah I'd say it's a safe bet XCPU mentioned there was by mistake ;)
 
Oddly enough no matter how you say some it people won't take it in. Hell, didn't I even go into lecturing about process/threads in another post?
I am not sure if you guys are actually seeing that my example is something much, much simpler than an MMORPG game, and just how much leeway it presents for some kind of distributed calculation. In my example, nothing that is calculated on outside machines is urgent, or needs to update in anything even close to real time. It's literally akin to submitting your data to the outside machine, and then waiting for the result. If it takes ten seconds to get that result back - no problem. You won't be seeing the result of that calculation anytime soon anyways. If the result never gets received, no problem again - you will just have to wait a lot longer for that area to "load" once you reach it.

Maybe I'm missing something here, but I don't see how something like this is that difficult to do.

If it's terribly difficult to do even that, then I have to ask, is there any point to this 'broadband' aspect of the Cell to begin with, or do you think it will be used solely as a single unit CPU, with only distributed computing being among it's local cores and SPUs?
 
Marconelly said:
Again, as I said above, your game would be completely unaffected. Only the spare PU/APU units will be used for outsourced calculation. This is assuming that some (many?) games simply will not be programmed with such parallelism in mind as to use every APU in your console.


Well, in my example, your local machine is the central server. It's performing the checks, and it calculates any missing data before you enter the next zone.


Actually, I was talking about a Fable-like, single player game all the while. I don't know if I made that clear enough.

A massively distributed single player game is an interesting concept, but again depends on people donating their machines for your use. Some daemon would have to dynamically determine (while I'm using my machine) how much CPU its going to share and who its going to share it with. So lets say there are just 10 million PS3 owners. You now have an interesting problem whereby my PS3 needs to at runtime find other machines that have spare cycles. Now this is going to change all the time because the dynamics of a game will change that. One minute I could catch your machine on a load screen, 5 seconds later your CPU is spiking and you have no spare CPU. Worse still is that the machine that I'm trying to get CPU from has to waste CPU to give out CPU to other people.

And still there is that sweet sweet latency. CPU usage will change at nanosecond rates, whereas your ability to query my machine will be in milisecond rates due to wonderful latency. By the time you find a machine that has spare CPU, there is no telling that it will actually be able to do any meaningful work for you. Why? Because you're assuming that spare cycles can just be 'used'. You'll have to move a unit of work (I need you to update the weather in my area) to the machine that has to do that work. To do this you'll have to transfer a decent sum of data about the current state of the weather to the other PS3 unless the weather calculation can be done within the context of a single function call updateWeather( long timeOfUpdate ). I can tell you right now that isn't going to work and be meaningful for any game as to update the weather or trees or anything else I'll need the current state of the weather. updateWeather( long timeOfUpdate, Weather currentWeatherState ). So I'll have to transmit the actual updateWeather function to a spare APU along with the register states and the data section of the weather. Then after I'm done (and hopefully the amount of CPU you need can be sanboxed so it doesn't effect any other games) I need to ship that to you.

Now multiply that by 10 million games trying to do the same thing. The scheduling of that without a central server or even with one is going to be enormous, especially considering that any machine can come and go as they please - may never actually contribute a response back (my machine may get spiked doing something and never send you a response), etc. Even for a single player game there are significant architectural issues involved. While Cell does some intersting things to create a virtual hardware grid, it is only useful within the confines of your own house and even then of fairly limited utility. THe strength of Cell broadband gridding is in IBM server clusters, not in PS3s.
 
Marconelly said:
I am not sure if you guys are actually seeing that my example is something much, much simpler than an MMORPG game, and just how much leeway it presents for some kind of distributed calculation. In my example, nothing that is calculated on outside machines is urgent, or needs to update in anything even close to real time. It's literally akin to submitting your data to the outside machine, and then waiting for the result. If it takes ten seconds to get that result back - no problem. You won't be seeing the result of that calculation anytime soon anyways. If the result never gets received, no problem again - you will just have to wait a lot longer for that area to "load" once you reach it.

Maybe I'm missing something here, but I don't see how something like this is that difficult to do.

If it's terribly difficult to do even that, then I have to ask, is there any point to this 'broadband' aspect of the Cell to begin with, or do you think it will be used solely as a single unit CPU, with only distributed computing being among it's local cores and SPUs?


Its great to ask and learn about it really. I wasn't really referring to you specifically. It's just funny that some of his post are starting to look like mine earlier. Not that he's getting info from me, he knows his own stuff. Moreover, it's just that I see him going along the similar path I was back then in his post.

I posted a ruff idea on something like that but even then reading it back to myself, I was way over optimistic about it. Have a read.
http://www.ga-forum.com/showpost.php?p=921085&postcount=75

I also didn't mention that these spare low priority processes don't affect performance on a PS3 in any way, rather help out the main cluster server get a few chores done but even then there are levels of patience the main CELL clusters (CELL server, no PS3 machines) just can not accept. This is something you wouldn't see any benefit to on your end and even then there are still many unknowns and vast amounts of researchs and observations to be made. But hey, even I have my crazy ideas...
http://www.mars-space.com/misc/rev.html

Only difference is I'm humble about it and I know it's just for fun (not to take it as fact or blind my excitment with it). Tee hee :D


Phoenix said:
While Cell does some intersting things to create a virtual hardware grid, it is only useful within the confines of your own house and even then of fairly limited utility. THe strength of Cell broadband gridding is in IBM server clusters, not in PS3s.


You are singing my tune buddy. And I really can't put it any better. (Or say basically the same thing any more times. sigh.)


Fafalada said:
Considering MS would have to switch memory providers to Rambus for that, yeah I'd say it's a safe bet XCPU mentioned there was by mistake ;)


Don't go there please. A friend who just got back from a COOP with IBM was just telling me all three systems would be using CELL. I laughed but I have a .001% nerve twitching saying maybe.
 
Don't go there please. A friend who just got back from a COOP with IBM was just telling me all three systems would be using CELL. I laughed but I have a .001% nerve twitching saying maybe.
Well if this were a fact Already(since some people already "know it"), don't you think Rambus would be making some noise about other two deals?

I'm sure Sony wouldn't mind the extra royalties though... ;)
 
Fafalada said:
Considering MS would have to switch memory providers to Rambus for that, yeah I'd say it's a safe bet XCPU mentioned there was by mistake ;)


Nah, it wouldn't work like that would it? I mean IBM is selling the chip to Nintendo to use in their product. That would be like Dell paying intel royalties for featuring an Intel Pentium processor in their media pc or what not. And secondly, isn't it IBM that has the patents on the hardware structure while Sony is mostly the software no? Because CELL is Software platform independent.
 
Top Bottom