More Context on Memory Reservation Issues on PS3
I wrote earlier about some of the improvements the 1.6 firmware update was supposedly going to bring to the PS3. At the time, one of the things that struck me as odd was just how much memory some of the new online features (such as the Friends list and online store in game) took up compared to what we had done with the 360. I wanted to try and compare and contrast in more detail, but couldn’t remember what we had announced publicly, especially around our memory reservation. So I pinged Pete Isensee here at Microsoft and asked him what we might be able to share externally. Pete manages the XNA Developer Connection and knows exactly what we’ve said, when, and to who. (I wish I had his memory.
)
Anyway, in classic hurried Microsoft fashion, I only sent quick bulleted questions; Pete returned his usual thoughtful responses from those. With thanks to Pete, I just wanted to share some context with you on why the PS3’s memory reservation numbers are so bad, and the implication that has on future games.
<Pete’s Mail>
- Can you remind me what CPU/Memory reservation we have on the 360 – and is this public? I think 32MB is memory, don’t remember CPU.
Xbox 360 reserves 32 MB for the system. The remaining 480 MB (94%) is completely available for games to use how they wish. The 32MB of system memory is used for the kernel, device drivers and the Xbox 360 Guide, which includes friends lists, voice/text messages, achievement lists, gamercards, Live Marketplace, 1-1 chat, virtual keyboard, and the music player. For CPU reservation, core 0 is completely available to the game, and the system reserves a small percentage (think single digits) of core 1 and 2.
- If those are true, Sony’s rumored numbers seem insanely huge – am I missing something here that can help justify?
Sony’s numbers are massive in comparison. The Xbox team knew from day one of Xbox 360 system development that we needed to accomplish two things: 1) let game developers focus on writing their game, and 2) give game developers plenty of memory to make great games. A ton of work has gone into making sure the OS is as tiny as possible. Our best engineers have focused on ensuring the components that make Xbox 360 so easy to use – like unified friends lists, custom music in every game, a legally-compliant global commerce system (Live Marketplace) – all fit within 32MB, with enough space left over so we can expand features in the future without affecting any existing games. The unsung heroes of Xbox 360 are the engineers who’ve constantly tuned the memory footprint of the system.
For comparison, PS3 developers have to deal with a system that has memory split into two 256MB banks, one of which is reserved for graphics only. A large portion of both the memory banks are reserved for the system. On top of that, games that want to support other features, like friends lists or in-game commerce, take an additional memory hit. http://arstechnica.com/news.ars/post/20060413-6600.html indicates that a total of 96MB is reserved for the system on PS3. http://www.innerbits.com/blog/2007/02/27/ps3-online-background-downloading-the-sony-way/ indicates that 9MB is required for friends lists (and 60MB for in-game commerce!). If those numbers are correct, a PS3 title using friends lists functionality has 512-96-9 = 407MB available, 73MB less than an Xbox 360 title using the same features.
If Sony mandates these features in future titles (unlikely for in-game Commerce, possible for friends), game developers will cut other game features to meet a smaller memory footprint. If Sony doesn’t mandate these features, then games won’t universally support them. Either way, gamers lose.
- What do we have “in” the Guide (already reserved) vs. what a developer would need to allocate more memory for? Thinking in-game shopping experience in particular – are we all covered in the 32 MB?
The Xbox 360 Guide already supports the Marketplace experience, so in most cases an Xbox 360 game doesn’t need to allocate any additional memory. If the title wanted to have an in-game experience, they’d just need to carve out a small chunk to manage in-game images, descriptions and prices. Games on Xbox 360 still call into Marketplace to make the final purchase, but that’s a good thing, given that no game developer or publisher is much interested in dealing with all the ramifications (legal, engineering, policy, technical requirements) of transacting purchases within a game itself.
</Pete’s Mail>
Related posts:
36 Comments
Comments are closed.








Fascinating stuff.
What’s most interesting to me is that you have (or have the potential for) all that going on but still have headroom in the 32MB for future growth. That’s a talented team you have there.
Interesting, so PS3 users are unlikely to be aware of the roadblocks ahead when they start pushing their system. And worse, you are going to have games that do not universely support various PS3 features because of the limitation.
I have a few questions. What percentage of XBox games "currently" push the 480MB limit? Does either console offer advantages that would reduce a game memory requirements? Why do you want All of your services/components to reside in the reserved system memory? Better multitasking performance?
Re: "I have a few questions. What percentage of XBox games "currently" push the 480MB limit? Does either console offer advantages that would reduce a game memory requirements? Why do you want All of your services/components to reside in the reserved system memory? Better multitasking performance?"
Pretty much every console title pushes memory limits – that’s just the nature of the beast. (This is true of any console.)
I can’t think of any specific hardware advantages that would reduce a game’s potential memory requirements. *Maybe* faster data streaming from the DVD vs. Blu-Ray, or perhaps the PS3 having a hard drive in every box for caching… but developers can work around this.
In my opinion, you want all of your system components in the reserved memory so you don’t get caught in the trap Sony is now. They’re damned if they do, damned if they don’t. If they require Friends list support in all games, they just effectively took away memory that was previously available to games. If they don’t, users have a broken online community where they can’t depend on being able to connect and play with people across any game or experience.
Great article. It seems that Xbox dashboard/kernel development is one of the few areas of software development where every bit of memory is still counted. Maybe they should hire these guys to work on Vista?
Re: "Great article. It seems that Xbox dashboard/kernel development is one of the few areas of software development where every bit of memory is still counted. Maybe they should hire these guys to work on Vista?
"
Ow.
You can optimize caches, but with overall system memory, you’re pretty much going to have to reduce what you are storing in it.
Modern systems do that by using the main cores and / or SPUs and / or GPU to interpolate vertex data (polygon models) for animations, and the 360 in particular is well optimized to do that. The PS3 has the same sort of capabilities, but uses the SPUs. Their EDGE presentation at GDC was pretty much all about this (definitely check that out on the Gamasutra podcast, as it was EXTREMELY informative, if technical).
You can also do texture compression, etc, but at the end of the day, you can only fit what you can fit, and if what you’re doing isn’t going to fit, you just have to cut it back.
Hey, why don’t you do the same with Windows Vista? How much memory does it reserves? 1 GB?
"Anyway, in classic hurried Microsoft fashion, I only sent quick bulleted questions"
What makes this fashion classically Microsoft? Do you mean internal affairs-wise? When I think Microsoft, I don’t think hurried (This post gives a perfect example of something that was very much not hurried).
Also, he seems to have skipped over justifying nearly twice as much RAM as the entire 360 OS for online purchases on the PS3. Not that I can blame him; this would only really be suspect for a Sony employee (who I would expect to either skip over it as well or give some buzzline about "truly leveraging this exciting technology requires more power than the 360’s paltry online purchase system").
is the 32mb limitation the reason why menu operations (guide) are so slow? i would think that menu operations would operate at a much higher speed. it would seem to me that the reason why the menus are slow is because they are starved for memory.
thoughts?
Re: "Also, he seems to have skipped over justifying nearly twice as much RAM as the entire 360 OS for online purchases on the PS3. Not that I can blame him; this would only really be suspect for a Sony employee (who I would expect to either skip over it as well or give some buzzline about "truly leveraging this exciting technology requires more power than the 360’s paltry online purchase system")."
Sorry, you lost me here. I think Pete didn’t include the ~60 MB needed for purchases in his estimate because it’s likely going to be an optional feature in games. Am I missing your point?
Re: “is the 32mb limitation the reason why menu operations (guide) are so slow? i would think that menu operations would operate at a much higher speed. it would seem to me that the reason why the menus are slow is because they are starved for memory.”
Nope – remember, there’s still reserved memory available for future functionality. Not a memory issue. I don’t personally have a problem with Guide reaction time – there are times when it would be nice to have it snappier, I agree. But that comes at the expense of taking more CPU time from the game itself.
That is very one-sided analysis.
There is a space vs. speed tradeoff here. The PS3 doesn’t require as much memory for certain tasks. For example, progressive meshes are a viable technique on the SPUs whereas it is not very viable on the 360s cores.
With regards to system design I’ll speak in generalities without mentioning the PS3 in particular. Dynamic modules can be utilized. For example, Linux (and Mac OSX) is a modular kernel that supports dynamic loading. The shell is a layer that sits on top of the kernel and its dynamic modules. There are a number of daemons that run on top of the shell that can be turned on/off. Then the graphics subsystem (X-Server or Quartz) runs on top of these daemons.
Given this design philosophy, consider how you would design an operating system for an embedded machine such as a console.
Re: "There is a space vs. speed tradeoff here. The PS3 doesn’t require as much memory for certain tasks. For example, progressive meshes are a viable technique on the SPUs whereas it is not very viable on the 360s cores."
You could find all sorts of different ways in which each system architecture takes varying amounts of space on various techniques. But they’re all irrelevant to this discussion, since the system software implementation is orthogonal to all of those things. The fact remains that PS3’s system implementation is sub-optimal compared to 360. It takes less memory to start, and also does not require more memory for auxiliary functions. I fail to see any scenario where one would prefer PS3’s implementation over 360’s or where the PS3 one would convey an advantage.
My first point was with regards to the 512MB vs 256MB+256MB issue. My point is that it doesn’t matter.
My second point was with regards to system footprint. The 360 may (or may not) have a smaller footprint. My point is that there are other techniques to mitigate these issues.
I am purposely being vague. I would love to talk about this in detail but I’d rather not due to NDAs on both sides of the argument.
My final point is that this argument is all overblown fanboy fodder. This particular issue is a speed bump not an iceberg. Both systems have pros and cons. Developers will exploit the pros of both systems and mitigate the cons of both systems.
The 360 does have a smaller footprint. And it does matter. Think about the fact that the 360 system implementation uses less memory over PS3 than Xbox1 had in total main memory. It’s not the end-all-be-all, but it does matter. Are there ways to mitigate it? Sure. But those memory saving methods would exist regardless of whether the PS3 system implementation had a small footprint or not. So the extra memory needed is definitely "wasted" and it does make a difference.
On the 256MB split memory pool issue, you’re correct that it more than likely does not matter. Granted, one could conceivably imagine a scenario where fragmentation causes a situation such that a memory allocation wouldn’t succeed on the segmented pool but would on the unified memory pool. But it’s probably more of an academic argument than anything.
@Parveen,
You know you could argue if about the memory footprint size issue till your blue in the face. What I find funny is how many multi-platform titles have been delayed for the PS3 and have already launched on the 360.
Oblivion – is not a fair case to use, but they are still struggling with the memory issue… Even though its supposed to be something easy to get around.
Rainbow Six: Vegas – which is using the Unreal engine has been delayed for quite some time now.. Played through the 360 version and got every achievement except the two officer rank achievements. This was a title I was not expecting to be delayed.
GRAW2 – Was suppose to lauch side by side, then delayed at the last second and wont be availible till June?!
In the end the academic arguements fail to the lack titles that are hitting their initial ship date. If the memory footprint is the major or minor issue that that matter, one thing is for sure.. Its not preventing the issue from becoming a problem in the first place.
Actually the memory issue does matter. It is precisely this issue that has delayed the PS3 add on content for Oblivion. The developers there have already publicly stated that they simply couldn’t fit some of the expantion content into memory. This meant that, while stuff like horse armour and the oratory could be used in the 360 version. It would have to be removed in the PS3 version so you had either one or the other but, not both.
One very Important thing he did’nt mention which you all need to keep in mind. The PS3 moves data in and out of memory 8 times faster than the XBOX 360.
Funny, I was just talking about this at lunch with a friend:
360 was designed from the software+services perspective, working backwards from the needs of the applications (games) and factoring in manufacturability and technology issues (transistor counts and component counts and what-not).
PS3 was designed as a piece of Hardware first and then the software was layered on as best they could.
Sony MO for the past few system releases (PSX, PSP, PS3) has been ship the hardware first, fix the software later.
No shock that a software company would put software and services comes first and see the hardware as just a delivery vehicle (a finely tuned one to be sure, but still secondary to the apps and the services), whereas a hardware company would see the software as secondary and something that needs to adapt to the hardware *after* the hardware is finalize.
We’re really seeing two very different approaches here; contrasting the decision trees is very educational.
So does this mean that we might see a possible DX10 features upgrade soon with games like Warhound on the way? Also will IPTV take from this reserved pool? And if PS3 is pretty much limited in memory does this mean that graphically it will never pass the 360? This is confusing to me because everyone seems to think that some how in the future PS3 games will surpass 360, but after reading this I would say different!
Is there room in XBox 360 hardware for improvements with such things as AI and Physics over the next 2 years?
I did notice a report done by 1up.com that talked about the main memory in regards to PS3 version of Oblivion and downloadable content. In that report they said that the memory that the PS3 had could not hold all the downloadable content that has come out on XBOX 360 so in that case it is a big deal. The developer had to choose the content for Oblivion on PS3 instead of including it all. That is a limitation that will continue to get worse as games grow larger and larger in games of this type.
@THunter..
<br><br>
The main reason why everyone believes that the PS3 games will surpass the 360 is that it takes the developers so bleeding long to figure how to develop for the hardware. I personally think the memory issue is one of the biggest things thats going to hold the PS3 back the entire cycle that its out. In many ways the PS3 is limited to 256 megs of memory for the video card, but I seem to recall that Gears of War requireed more than that. And this is why the X360 has a huge advantage, the X360 could use 400 megs for the video card, but then there would be 70 megs left for the game to run in. The key thing is that it lets the developers decide what works best for them, not the otherway around.<br><br>
And about the DX10 features, PS3 will never be able to go past DX9 level, but the X360 has a large portion of the DX10 features already built-in. So once developers get a better grasp of shaders, you will see the X360 surpass the PS3 as far as graphics are concerned.<br><br>To go off topic a little, I personally think that this console generation will make it clear how important graphic shaders are. That being said I will expect the PS3 to be forced to go the stylized route due to its limitation.
<br><br>About IPTV, from my understanding it should run like an application or a game so it should not be limited by the reserved memory pool.
**DASHBOARD FEATURE REQUEST**
For those users who dont always have their headsets near by and cant stand to type a common message all the time.
Can you please add this function to the XBOX Dashboard
- Allow premade messages of:
"Send me a invite"
"I will be back in a few minutes"
"Thank you!"
"I got booted"
etc (*im sure someone in xbox dev can come up with some common short messages you want to premake*)
- So when you go to the guide and you click on a Friend from your Friends list or Players list you can send them a very short message that is premade in text. The message shows up in the little pop up on the recievers screen as the message without the reciever needing to go to his Guide flyout to see what the message is. So the reciever gets the message instantly with no breakage in play.
This makes communicating for the most common things faster and saves steps from both sides.
<<Lou said:
One very Important thing he did’nt mention which you all need to keep in mind. The PS3 moves data in and out of memory 8 times faster than the XBOX 360.>>
What about that 8 times faster ?
Comment plz. somebody..
>What about that 8 times faster ?
What about it? How does that help when you need stuff IN MEMORY that the PS3 just can’t fit there? Also, just because the memory access is faster doesn’t mean there aren’t other bottlenecks (BD-ROM and hard drive come to mind).
Plus, it’s 8 times faster according to who? Sony? If so, I wouldn’t take that number as granted. It’s not like Sony has always been completely honest about their performance numbers before.
8 times faster? I’m in the games biz (senior engineer) and while I don’t have a PS3 dev kit yet, or am very familiar with it, I highly doubt this number.
1) PS3 has lots of different types of memory and they all have different bottlenecks, etc.
2) if there was an 8X part of memory, perhaps it’s just the 256k specific to each SPU (basically all SPU’s run in 256k cache memory, both code and data). maybe that is faster…
3) but then again, 360 has the EDRAM, etc. and the 360 has (i think) better bus speeds.
From all I’ve seen, and overall feeling here at my work (no, it’s not MS, it’s an independent developer) the 360 is way better from memory, graphics, overall CPU power and functionality. and it’s clearly easier to develop for, as well.
I even saw a study of a shipped game’s memory footprint on the 360. and you know what? it wouldn’t FIT on a PS3!!! not enough memory! and, in some levels, it was off by 100’s of MB…
Ozy…this is completely off topic but when are you guys going to address the reports of MS not allowing Epic to give us the GOW DLC for free?…and the potential for this ruining your relationship with Epic and the franchise?
which one faster or better? the same question all the times,… well at least PS3 is 20 times faster than PC for Folding@home
360 should join the group for benchmark everyone?
I’m not programmer/engineer I’m just a designer/illustrator, so I don’t understand what you guys talking about here.
hey OZYMANDIAS~ thanks for your articles … please tell windows team to have the same concept like ur team, so I don’t have to upgrade my hardware just for the sake of VISTA, I’m getting enjoy macbook pro now, which is more stable and safety.
oh ya, what happen to the ring of death on 360? I thought that can be happen in windows only.
"PS3 is 20 times faster than PC for Folding@home"
Well, many of those PC’s are older systems. Also, application calcs the PS3 runs are ones specific to what it does best.
And, it certainly doesn’t mean that the PS3 is 20 times faster than a current desktop.
hmmmm I have dual core 2 duo with 3GB ram, let’s try…
Not all Folding work units are the same. The PS3 is currently working on the easier ones. That is why it appears that the PS3 is kicking the crap out of every other platform.
Read more about it here:
http://arstechnica.com/news.ars/post/20070326-why-the-playstation-3-owns-the-pc-in-fh.html
I’ve never seen that argument on any of the other message boards I’ve come across. Just like to say thats a VERY good point. It will be interesting to see how the 2 different strategies work out…
And this is why Microsoft are amazing at what they do when it comes to software – they always have a trick up their sleeve
Sony concentrating on hardware and software later and they admitted that themselves a little while ago!!
However I do find accessing the guide button i.e. friends list or composing a message to slow down when in a game is this perhaps because the 32mb is a not enough?
Is there a way you could increase it to 40mb?
More memory isn’t going to speed the guide operation at all.
Windows gets faster when you add more memory to the computer because Windows uses virtual memory. When the memory is filled up and you load an application, it moves some memory out to the hard drive to clear space for the new application. Hard drives are very slow compared to RAM.
The 360 doesn’t use virtual memory in this manner.
So the guide is probably slower when a game is running because the game is running on the same core as the guide process.
RE: More Context on Memory Reservation Issues on PS3
university of michigan dearborn hockey club