Xenon vs. Cell

The first public game demo on the PlayStation 3 was Epic Games’ Unreal Engine 3 at Sony’s PS3 press conference.  Tim Sweeney, the founder and UE3 father of Epic, performed the demo and helped shed some light on how multi-threading can work on the PlayStation 3.

According to Tim, a lot of things aren’t appropriate for SPE acceleration in UE3, mainly high-level game logic, artificial intelligence and scripting.  But he adds that “Fortunately these comprise a small percentage of total CPU time on a traditional single-threaded architecture, so dedicating the CPU to those tasks is appropriate, while the SPE's and GPU do their thing." 

So what does Tim Sweeney see the SPEs being used for in UE3?  "With UE3, our focus on SPE acceleration is on physics, animation updates, particle systems, sound; a few other areas are possible but require more experimentation."

Tim’s view on the PPE/SPE split in Cell is far more balanced than most we’ve encountered.  There are many who see the SPEs as utterly useless for executing anything (we’ll get to why in a moment), while there are others who have been talking about doing far too much on SPEs where the general purpose PPE would do much better. 

For the most part, the areas that UE3 uses the Cell’s SPEs for are fairly believable.  For example, sound processing makes a lot of sense for the SPEs given their rather specialized architecture aimed at streaming tasks.  But the one curious item is the focus on using SPEs to accelerate physics calculations, especially given how branch heavy physics calculations generally are. 

Collision detection is a big part of what is commonly referred to as “game physics.”  As the name implies, collision detection simply refers to the game engine determining when two objects collide.  Without collision detection, bullets would never hit your opponents and your character would be able to walk through walls, cars, etc... among other things.

One method of implementing collision detection in a game is through the use of a Binary Search Partitioning (BSP) tree.  BSP trees are created by organizing lists of polygons into a binary tree.  The structure of the tree itself doesn’t matter to this discussion, but the important thing to keep in mind is that to traverse a BSP tree in order to test for a collision between some object and a polygon in the tree you have to perform a lot of comparisons.  You first traverse the tree finding to find the polygon you want to test for a collision against.  Then you have to perform a number of checks to see whether a collision has occurred between the object you’re comparing and the polygon itself.  This process involves a lot of conditional branching, code which likes to be run on a high performance OoO core with a very good branch predictor. 

Unfortunately, the SPEs have no branch prediction, so BSP tree traversal will tie up an SPE for quite a bit of time while not performing very well as each branch condition has to be evaluated before execution can continue.  However it is possible to structure collision detection for execution on the SPEs, but it would require a different approach to the collision detection algorithms than what would be normally implemented on a PC or Xbox 360.

We’re still working on providing examples of how it is actually done, but it’s tough getting access to detailed information at this stage given that a number of NDAs are still in place involving Cell development for the PS3.  Regardless of how it is done, obviously the Epic team found the SPEs to be a good match for their physics code, if structured properly, meaning that the Cell processor isn’t just one general purpose core with 7 others that go unused. 

In fact, if properly structured and coded for SPE acceleration, physics code could very well run faster on the PlayStation 3 than on the Xbox 360 thanks to the more specialized nature of the SPE hardware.  Not to mention that physics acceleration is particularly parallelizable, making it a perfect match for an array of 7 SPEs. 

Microsoft has referred to the Cell’s array of SPEs as a bunch of DSPs useless to game developers.  The fact that the next installment of the Unreal engine will be using the Cell’s SPEs for physics, animation updates, particle systems as well as audio processing means that Microsoft’s definition is a bit off.  While not all developers will follow in Epic’s footsteps, those that wish to remain competitive and get good performance out of the PS3 will have to.

The bottom line is that Sony would not foolishly spend over 75% of their CPU die budget on SPEs to use them for nothing more than fancy DSPs.  Architecting a game engine around Cell and optimizing for SPE acceleration will take more effort than developing for the Xbox 360 or PC, but it can be done.  The question then becomes, will developers do it? 

In Johan’s Quest for More Processing Power series he looked at the developmental limitations of multi-threading, especially as they applied to games.  The end result is that multi-threaded game development takes between 2 and 3 times longer than conventional single-threaded game development, to add additional time in order to restructure elements of your engine to get better performance on the PS3 isn’t going to make the transition any easier on developers. 

Introducing the Xbox 360’s Xenon CPU Does In-Order Matter?
Comments Locked

93 Comments

View All Comments

  • Doormat - Friday, June 24, 2005 - link

    @#22: Yes 1080P is an OFFICIAL ATSC spec. There are 18 different video formats in the ATSC specification. 1080/60P is one of them.

    FWIW, Even the first 1080P TVs coming out this year will *NOT* support 1080P in over HDMI. Why? I dunno. The TVs will upscale everything to 1080P (from 1080i, 720p, etc), but they cant accept input as 1080P. Some TVs will be able to do it over VGA (the Samsung HLR-xx68/78/88s will), but still thats not the highest quality input.
  • Pastuch - Friday, June 24, 2005 - link

    RE: 1080P
    "We do think it was a mistake for Microsoft not to support 1080p, even if only supported by a handful of games/developers."

    I couldnt disagree more. At the current rate of HDTV adoption we'll be lucky if half of the Xbox 360 users have 1280x720 displays by 2010. Think about how long it took for us to get passed 480i. Average Joe doesnt like to buy new TVs very often. Unless 1080P HDTVs drop to $400 or less no one will buy them for a console. We the eger geeks of Anandtech will obviously have 42 widescreen 1080P displays but we are far from the Average Joe.

    RE: Adult Gamers

    Anyone who thinks games are for kids needs a wakeup call. The largest player base of gamers is around 25 years old right now. By 2010 we will be daddys looking for our next source of interactive porn. I see mature sexually oriented gaming taking off around that time. I honestly believe that videogames will have the popularity of television in the next 20 years. I know a ton of people that dont have cable TV but they do have cable internet, a PC, xbox, PS2 and about a million games for each device.
  • Pannenkoek - Friday, June 24, 2005 - link

    #19 fitten: That's the whole point, people pretend that even rotten fruit laying on the ground is "hard" to pick up. It's not simply about restructuring algorithms to accomodate massive parallelism, but also how it will take ages and how no current game could be patched to run multithreaded on a mere dual core system.

    Taking advantage of parallism is a hot topic in computer science as far as I can tell and there are undoubtedly many interesting challanges involved. But that's no excuse for not being able to simply multithread a simple application.

    And before people cry that game engines are comparable to rocket science (pointing to John Carmack's endeavours) and are the bleeding edge technology in software, I'll say that's simply not the reality, and even less an excuse to not be able to take advantage of parallelism.

    Indeed, game developers are not making that excuse and will come with multithreaded games once we have enough dual core processors and when their new games stop being videocard limited. Only Anandtech thinks that multithreading is a serious technical hurdle.

    This and those bloody obnoxious "sponsored links" all through the text of articles are the only serious objections I have towards Anandtech.
  • jotch - Friday, June 24, 2005 - link

    #26 - yeah i know that happens all over but I was just commenting on the fact that the console's market is mainly teens and adults not mainly kids.
  • expletive - Friday, June 24, 2005 - link

    "If you’re wondering whether or not there is a tangible image quality difference between 1080p and 720p, think about it this way - 1920 x 1080 looks better on a monitor than 1280 x 720, now imagine that blown up to a 36 - 60” HDTV - the difference will be noticeable. "

    This statement should be further qualified. There is only a tangible benefit to 1080p if the display device is native 1080p resolution. Otherwise, the display itself will scale the image down to its native resolution (i.e. 720p for most DLP televisions). If youre display is native 720p then youre better off outputting 720p becuase all that extra processing is being wasted.

    There are only a handful of TVs that support native 1080p right now and they are all over $5k.

    These points are really important when discussing the real-world applications of 1080p for a game console. The people using this type of device (a $300 game console) are very different then those that go out and buy 7800GTX cards the first week they are released. Based on my reading in the home theater space, less than 10% of the people that own a PS3 will be able to display 1080p natively during its lifecycle (5 years).

    Also, can someone explain how the Xenos unified shaders was distelled from 48 down to 24 in this article? That didnt quite make sense to me...

    John
  • nserra - Friday, June 24, 2005 - link

    I was on the supermarket, and there was a kid (12year old girl) buying the game that you mention with the daddy that know sh*t about games, and about looking for the 18 year old logo.

    Maybe if they put a pen*s on the box instead of the carton girl, some dads will then know the difference between a game for 8 year old and an 18.

    #21 I don’t know about your country, but this is what happen in mine and not only with games.
  • knitecrow - Friday, June 24, 2005 - link

    would you be able to tell the difference at Standard resolution?

    instead of drawing more pixels on the screen, the revolution can use that processing power and/or die space for other functions... e.g. shaders

    If the revolution opts to pick an out-of-order processor, something like PPC970FX, i don't see why i can't be competitive.


    But seriously, all speculation aside, the small form factor limits the ammount of heat components can put out, and the processing power of the system.
  • perseus3d - Friday, June 24, 2005 - link

    --"Sony appears to have the most forward-looking set of outputs on the PlayStation 3, featuring two HDMI video outputs. There is no explicit support for DVI, but creating a HDMI-to-DVI adapter isn’t too hard to do. Microsoft has unfortunately only committed to offering component or VGA outputs for HD resolutions."--

    Does that mean, as it stands now, the PS3 will require an adapter to be played on an LCD Monitor, and the X360 won't be able to be used with an LCD Monitor with DVI?
  • Dukemaster - Friday, June 24, 2005 - link

    At least we know Nintendo's Revolution is the lozer when it comes to pure power.
  • freebst - Friday, June 24, 2005 - link

    I just wanted to remind everyone that 1080P at 60 Frames isn't even an approved ATSC Signal. 1080P at 30 and 24 frames is, but not 60. 1280x720 can run at 60, 30, and 24 that is unless you are running at 50 or 25 frames/sec in Europe.

Log in

Don't have an account? Sign up now