arstechnica part 2 : inside the xbox 360

jvd

Banned
http://arstechnica.com/articles/paedia/cpu/xbox360-2.ars?67820&38621

Increasing the width of the execution core definitely has its advantages, but there's a limit to how wide the core can be before you reach a point of diminishing returns. The code that programmers and compilers generate is serial, so it must be rearranged before it can be executed in parallel by a wide execution core. This process of rescheduling the serial instruction stream so that it can be executed in parallel, a process called dynamic execution, requires special hardware that adds complexity and size to the design of the processor.
 
by 3 mins burried in a thread hehe . Better off that its in its own thread but credit goes to u


In sum, the Xenon will certainly make the Xbox 360 a 3D graphics powerhouse. Though history suggests that the Xbox 360's games will probably never attain the level of graphical realism promised by Microsoft's pre-launch hype and portrayed in the pre-rendered "game demos" that were shown off at E3 (e.g. the infamous Killzone "demo"), gamers can nonetheless expect a significant advance in levels of graphical realism and visual immersiveness.

Wow good thing ms didn't promise us killzone "demo" graphics :oops:
 
The claim that physics, AI, or game logic can't be multithreaded are debatable. Novodex is already multithreaded for example. And whether game logic or AI can be multithreaded is highly dependent on actual algorithm used.

There is also a difference between pure concurrency, and partial concurrency. There are many algorithms that fit inbetween, where large pieces can run truly concurrent, but some shared data must be atomically updated and thus synchronization is forced. But where and how this synchronization of a shared database (geometry, etc) happens is also highly dependent on implementation, datastructure, and other requirements. For example, sometimes all you need is atomicity, not consistency (different threads get different values when they read the same sequence of variables), depending on how tolerant of errors you are.

So I think the view that something is either inherently serial or inherently parallel is too simplistic.
 
Well, I felt that it deals as much of the in order aspect as any and I am not much of a thread starter. But no worries, seems both sides are going to have their hands full with thread scheduling and on the compiling front, as i mentioned on another board it's shades of Itanium of a sort. Lets hope they work out better than that monster.
 
At any rate, Playstation 3 fanboys shouldn't get all flush over the idea that the Xenon will struggle on non-graphics code. However bad off Xenon will be in that department, the PS3's Cell will probably be worse. The Cell has only one PPE to the Xenon's three, which means that developers will have to cram all their game control, AI, and physics code into at most two threads that are sharing a very narrow execution core with no instruction window. (Don't bother suggesting that the PS3 can use its SPEs for branch-intensive code, because the SPEs lack branch prediction entirely.) Furthermore, the PS3's L2 is only 512K, which is half the size of the Xenon's L2. So the PS3 doesn't get much help with branches in the cache department. In short, the PS3 may fare a bit worse than the Xenon on non-graphics code, but on the upside it will probably fare a bit better on graphics code because of the seven SPEs.

Major Nelson vindicated? ;)
 
No one vindicated, because people keep making unsubtantiated claims that physics is inherently serial.

If physics is inherently serial, than the PPU is DEAD, because the whole point of a PPU is slapping a huge number of SIMD units on die and using parallelism either ILP or TLP. But if you believe ARS, then Physics can't be parallelized, and therefore, the PPU can't possibly work.

But physics isn't inherently serial, in fact, most of it is inherently parallelizable. That's why the government keeps buying supercomputers like ASCI White and Purple to run weapons simulations. Or why Japan built the Earth Simulator to simulate weather. Or why Boeing and NASA use supercomputers to do computational fluid dynamics.
 
DemoCoder said:
Novodex is already multithreaded for example.

This makes me wonder if you actually looked at the Novodex SDK?

Novodex Physics SDK Documentation said:
As described in Section 2.3, v2.1.2 of the Physics SDK is multithreaded: the physics simulation calculations run in their own thread, separate from the application thread. The state of the simulation is updated by calling a sequence of functions that (1) start the simulation, (2) ensure that all necessary data have been sent to the simulation thread, (3) check to see whether the simulation is finished, and if so, update the state data in the buffer, and (4) swap the state data buffers so that the next simulation step will be performed on the alternate buffer, leaving the current results accessible to the application.

As far as I can tell, all that the "multithreading" support in Novodex does is pull the physics code out of the application thread, and into its own (single) thread.

Incidentally, this setup is ideal for the way xenon works. ;)
 
Hannibal seems to believe the XeCPU PPC cores and PPE in CELL are pretty similar less some minor tweaks. It is interesting that this rumor from late 2004 seems to be true. Even more interesting because this should help 3rd party cross platform titles.

I wonder if this means we will see, at least early one, some games that ignore the "special sauces" in both designs and just use a single core, and only get ambitious down the road?
 
DemoCoder, are all physics algorithms equally paralellizable?

The examples you give of paralellized physics (explosion and fluid modeling) are grid-based simulations. They aren't very useful for games, because even with Cell the largest real-time simulation will be too small/coarse to make an interesting game world.

Isn't game physics (polygon soup collision detection and reaction) more of a data base search and update problem? While there's some spatial coherency you can take advantage of, isn't most of the time in these algorithms spent searching data structures?

(I have Eberley's Game Physics book on order, but haven't read it yet, so maybe I'm off base here...)
 
Acert93 said:
I wonder if this means we will see, at least early one, some games that ignore the "special sauces" in both designs and just use a single core, and only get ambitious down the road?

Seems to be what Epic did to get UE3 running on the CELL so quickly. :)
 
Oddly, I find myself agreeing with the posters here more than with Hannibal. I had expected to agree more with Hannibal since he's supposed to be the expert here.

He does have a point that the X360 won't outrun the Xbox in every field equally. But he seems to dwell on that point. It's almost as if he thinks IBM and MS are unaware of the kind of code devs will be running. IMO, we're entering the era of unconsidered code running bad across the board, so none of this sounds out of place.

I think he rather underplays the significance of a compiler with profiling for a fixed system. That combined with Microsoft's ATG should be enough to make decent performance attainable.

Did it bug anyone else that he more or less assumed the X360's CPU cores were identical to the CELL's PPE? I think there's a lot of similarity there, but I don't think it's accurate to take a bunch of CELL charts and stats and say, "This is how the X360 is."
 
I think they used at least one SPE, what appeared to be volumetric explosion effects were clearly seen in the beginning. You'd hope they'd figured out some thread parellism there to not bog the main core down, even if it was a non AI, non gameplay prescripted realtime render.
 
Tacitblue said:
I think they used at least one SPE, what appeared to be volumetric explosion effects were clearly seen in the beginning. You'd hope they'd figured out some thread parellism there to not bog the main core down, even if it was a non AI, non gameplay prescripted realtime render.

Nope.

http://www.gamespot.com/news/2005/05/20/news_6126181.html

GS: How has it been programming for the Cell processor? Have you tapped into the extra processing cores yet?

MR: We haven't really delved into the Cell all that deeply yet. All we've done is mostly take advantage of just the normal PowerPC core and the RSX graphics, so we really look forward to getting home and tackling all kinds of cool stuff on the Cell.
 
aaaaa00 said:
Acert93 said:
I wonder if this means we will see, at least early one, some games that ignore the "special sauces" in both designs and just use a single core, and only get ambitious down the road?

Seems to be what Epic did to get UE3 running on the CELL so quickly. :)

Yeah, reading his quote here seems to hint at that direction:

http://www.beyond3d.com/forum/viewtopic.php?t=23585

BIZ: Okay, from what you said before, you seem to be leaning a bit more towards the PS3.


MR: Well, we've been an Xbox 360 middleware vendor since GDC, so we're making games for both platforms. If we want to be a successful middleware company, we don't really have a choice. We can't lean or choose one or the other. We're just going to have amazing empowerment on both machines and then our customers will make games. There'll be lots of people, for example, who will go the extra mile and write a lot of extra Cell code above and beyond what our own game might use that really makes it an exclusive Sony thing and there'll be a lot of people who will do that on the Microsoft side. Heck, Microsoft has already licensed our engine for some games. So to be a successful middleware developer, you've got to be in the middle.

And we're also obviously big on PC as well; we don't want to forget PC. I think the PC is actually going to grow because of the next-gen consoles. I think we're going to get better, richer experiences on PC thanks to the fact that people are going to be designing games for such high-end hardware. And eventually that hardware will be on PC as well.

Obviously it is more important for 3rd parties to get quality games on as many platforms as possible QUICKLY and not have to mess around with a lot of porting and rewriting of engines (unless they got big money for doing such).

Both with PPC cores and GPUs from PC IHVs that are using common APIs/derivatives in DX and OpenGL, I think this will be a very nice environment for porting. Obviously it would be nice for games to exploit the features on both platforms, but it seems with the cut throat business it can be hard finding the time, money, and resources to do that. I wonder if both companies using similar cores was intentional? I wonder if Nintendo will be using a similar CPU?
 
shaderguy said:
Isn't game physics (polygon soup collision detection and reaction) more of a data base search and update problem? While there's some spatial coherency you can take advantage of, isn't most of the time in these algorithms spent searching data structures?

(I have Eberley's Game Physics book on order, but haven't read it yet, so maybe I'm off base here...)

Didn't ERP or DeanoC make some comment to that effect a while ago?
 
aaaaa00 said:
Tacitblue said:
I think they used at least one SPE, what appeared to be volumetric explosion effects were clearly seen in the beginning. You'd hope they'd figured out some thread parellism there to not bog the main core down, even if it was a non AI, non gameplay prescripted realtime render.

Nope.

http://www.gamespot.com/news/2005/05/20/news_6126181.html

GS: How has it been programming for the Cell processor? Have you tapped into the extra processing cores yet?

MR: We haven't really delved into the Cell all that deeply yet. All we've done is mostly take advantage of just the normal PowerPC core and the RSX graphics, so we really look forward to getting home and tackling all kinds of cool stuff on the Cell.

If that's what they can get with just 2 hardware threads, what could they do with the other 7 fairly humming along with some measure of utility? Not to mention that the SPE's I understand are best optimized under microthreading. Being ignorant how does that differ from normal threaded operation?
 
Back
Top