Console Maker's OS

Microsoft will want to include telephony, home automation, TV + cable services, web and wireless display.

An iPad does most of these in 1GB and 2 cores.

If they are reserving 3GB, a good part will be for user data (unoptimized user generated content ?) and gaming services/utilities. A gaming server for local MP gaming sounds like a good idea too, plus Kinect/LiveWall related processing and data.
 
At least some of the memory copy woes brought up might be changing in the future once proper shared address space capabilities make it to APUs. This might permanently disadvantage discrete products, however.

I'm starting to wonder if maybe Microsoft is going to try for a tiled GPU. The SRAM and the engines that manage it could make this easier, and the GPU front end could guide the spill and fill of tiles into the scratchpad. The front end already tiles the screen to help allocate work to SIMDs and ROPs, so extra control signals and output data can be used to set up and fill bins per tile.
Given the comparative brute force of the GPU and the size of the scratchpad, the output and at least some associated buffer data could be rather coarsely subdivided.
 
If Durango is expected to serve content to one or more client devices (as per the leaked vision doc), I could see a significant amount of memory memory being reserved for buffering the input and output of the transcoding engine.

You don't need to maintain that much longer in the buffer than the actual bitrate of the media. Cpu/Gpu usage would be quite low too with a dedicated video decoding unit that probably can handle multiple streams at once. Media servers on pc does not require huge amounts of memory to stream HD content.
 
You don't need to maintain that much longer in the buffer than the actual bitrate of the media. Cpu/Gpu usage would be quite low too with a dedicated video decoding unit that probably can handle multiple streams at once. Media servers on pc does not require huge amounts of memory to stream HD content.

PC media servers buffer to hard disk when transcoding. Buffering to memory would allow for better seeking performance, which is useful for a DVR since users would want to be able to seek through commercials.

Not really presenting this as likely. Just possible.
 
A dictionary with a few expected words don't require much memory and it's already done even on 360. Reckoning entire phrases with unexpected words are usually done on the cloud, and doesn't require all that memory either.

I have no idea how large the skeleton data is, but i think the necessity of querying it each frame would also limit how large that would be.
Skeletal on the 360 used something like 32MB, and that scales with resolution. Increase the resolution, and you're dealing with much more memory, even assuming you don't change the data structure for better speed instead of space savings. And not counting the option of a _significantly_ larger learning set. The 360 had to stop at something like 12 degrees of freedom because of space issues. If the new one could scan fingers, you've just added 4-10 (depending on how many fingers you track) more degrees of freedom, and it's an exponential relationship between degrees of freedom and size of the database.
 
Skeletal on the 360 used something like 32MB, and that scales with resolution. Increase the resolution, and you're dealing with much more memory, even assuming you don't change the data structure for better speed instead of space savings. And not counting the option of a _significantly_ larger learning set. The 360 had to stop at something like 12 degrees of freedom because of space issues. If the new one could scan fingers, you've just added 4-10 (depending on how many fingers you track) more degrees of freedom, and it's an exponential relationship between degrees of freedom and size of the database.

I see... So skeletal data can take away a lot of that memory indeed. Do you think they will have that entire skeletal data all the time, to allow for example finger tracking at all times, or do you see them going with a smaller footprint on the system and loading the extra data only when the application needs?

That's actually something that could justify going with 3GB of ram, specially if they intend to expand kinect to a first class citizen on the console.
 
I see... So skeletal data can take away a lot of that memory indeed. Do you think they will have that entire skeletal data all the time, to allow for example finger tracking at all times, or do you see them going with a smaller footprint on the system and loading the extra data only when the application needs?
RAM is cheap. On a 60 GB/s bus, more doesn't get you any use in a game. Ergo, there's no reason not to have the whole Kinect datasets in RAM with a small BW use to access them.
 
RAM is cheap. On a 60 GB/s bus, more doesn't get you any use in a game. Ergo, there's no reason not to have the whole Kinect datasets in RAM with a small BW use to access them.

I don't think that is the case. You can use RAM instead of computational performance because for instance instead of computing anything you can tune your algorithms to take advantage of precomputed results. For instance Kinect was designed with super computer level performance apparently but when running it you can use the results precomputed by that computer instead of having to do it again.

Think of it like the times tables. Most people memorise the table because it is quicker to simply recall the information than it is to calculate it, especially by hand. So in this instance you're trading your own memory space for computational efficiency. So whilst the quantity of memory which can be used per frame may be X the rest or Y could be information which 'could' be used.
 
1GB for kinect? Why would you need all that space? And i'm talking about 1GB for a full blown OS, with desktop, drivers and what not... You don't need all that in a console.

Just to be clear, I don't think 3GB of dedicated ram is impossible, i just want to see on what they would use it. Fast switching apps + media streaming capabilities does not justify all that memory because even windows 7 running applications with no optimizations of memory usage when in background can do all those tasks and more with less than 2GB of ram.

That's still the wrong way to look at it. Another way to look at it is why would you need more than 5 GB of memory for games? Especially if you assume the competition is only going to have 4 GB of memory available for games. Add to that, that unlike the competition, you don't have a large stable of first party developers and hence will rely more on cross platform games and use key exclusives combined with living room services to differentiate yourself.

MS is never going to be able to compete on the first party developer exlusives front. At least not without an absolutely huge monetary investment and the associated risk. So more than 5 GB for games would be a waste. MS can however compete on the living room services/media portal front.

3 GB for "everything else" gives them a lot of breathing room to experiement as the generation goes on. Even if we assume they only "really" use 1.5 GB of memory at launch, you still presumably had 5-6 years to figure out what to do with the rest.

Or look at it another way. Look at the evolution of the X360. While the OS was always contrained to a set amound of memory, the storage requirements for the OS increased as the generation moved on. Services were also added, which means that overtime things had to be pared down and/or swapped in and out of memory (leading to pauses as the apps are loaded) to fit the additional services.

With the next Xbox they are unlikely to run into a situation where they won't have enough memory to do what they want to do, unlike the situation with the X360.

And, of course, that ignores the fact that in the meantime they can make that memory available to the user to have a more polished and a relatively unrestricted (number of apps open at same time for example) user experience.

Now, if you consider that use case. That also opens up another potentially large revenue stream for MS. An application store for non-gaming apps. 512 would unlikely be enough for the OS, drivers (kinect runtimes and databases), included apps, and user bought and installed apps. 1 GB would likely be too little. 2 GB might be enough. But since games aren't going to ever need more than 5 GB as long as the competition only has 4 GB, then might as well make sure you have enough and reserve 3 GB.

In all, there's a LOT of reasons to limit games to 5 GB and a LOT of reasons to have a lot of memory available for non-gaming tasks.

At least some of the memory copy woes brought up might be changing in the future once proper shared address space capabilities make it to APUs. This might permanently disadvantage discrete products, however.

I'm starting to wonder if maybe Microsoft is going to try for a tiled GPU. The SRAM and the engines that manage it could make this easier, and the GPU front end could guide the spill and fill of tiles into the scratchpad. The front end already tiles the screen to help allocate work to SIMDs and ROPs, so extra control signals and output data can be used to set up and fill bins per tile.
Given the comparative brute force of the GPU and the size of the scratchpad, the output and at least some associated buffer data could be rather coarsely subdivided.

Heh, that just reminded me of Microsoft's Talisman initiative back in the 90's when they were trying to decide the direction that Direct3D would take. At the time Micrsoft was wanting tiled 3D rendering to be the predominant rendering method due to how expensive fast memory was. The subsequent crash in memory prices torpedoed that, however, and hence we ended up with the more traditional 3D rendering we have today rather than tiled rendering.

It'd certainly be interesting if MS is again going back to tiled rendering in the face of expensive memory.

Regards,
SB
 
In all, there's ... a LOT of reasons to have a lot of memory available for non-gaming tasks.
I dunno that I agree with that. Without something substantial like Kinect datasets or voice recognition databases, 3 GBs for a console totally crazy. However, I dare say 8 GBs for a console for games is even crazier. ;)
 
I guess if the extra ram is super cheap (taken across the lifetime of the platform) you might as well keep as much as possible loaded and minimise background app switching times (I image X3 apps will be able to Tombstone like WP7/8 and Metro). After all, if you want people to use your set-bottom-box for everything you need it to be better and faster than the phone in your pocket or the tablet on the coffee table.

I also think if MS are going to make Kinect 2 a standard feature they need to go balls out and make it every bit as good as possible, and if that means a GB for skeletons and mouth-noises that absolutely has to be worth it.
 
I dunno that I agree with that. Without something substantial like Kinect datasets or voice recognition databases, 3 GBs for a console totally crazy. However, I dare say 8 GBs for a console for games is even crazier. ;)

8 GB is certainly a lot more than I would have predicted for this generation of consoles. But that was when I was thinking of each console as only a gaming machine. At which point 2-4 GB would be more than enough.

Throw in potential app store purchases, however, combined with robust and unrestricted (probably no Flash support though) web browsing and suddenly 8 GB for a console start to make sense. And that's not to mention TVbox functionality. Assuming a video record function, you absolutely do not want the video stream recording to compete with a game for HDD access, when HDD access is already going to be a potentially large gaming bottleneck.

And hell, as I mentioned previously, even if there are no app purchases, no robust included living room apps, etc. There's always the possibility to pre-cache game data in non-game memory for faster level loading, asset streaming, etc.

Regards,
SB
 
I dunno that I agree with that. Without something substantial like Kinect datasets or voice recognition databases, 3 GBs for a console totally crazy. However, I dare say 8 GBs for a console for games is even crazier. ;)

But see, I think they definitely are going to be Kinect and voice recognition databases taking up all that memory.
 
RAM is cheap. On a 60 GB/s bus, more doesn't get you any use in a game. Ergo, there's no reason not to have the whole Kinect datasets in RAM with a small BW use to access them.

Even if you can't access all the memory per frame doesn't mean there's no benefits in having a larger pool to play with.

But like I said, reserving 3GB from the system does not concern me. What it does is if they reserve this amount and don't offer capabilities that justify it.

Having kinect control all the time is something that i can see as justifiable, specially if they are serious about using it along with the controller this time. Kinect audio for example, is something that i would not like to see mempry being "wasted" with. You can have a huge amount of pre defined commands to pretty much control the entire console on a comparably low memory profile, and the extra words you would like to use probably have no meaning unless the console goes online and if the console is online it can use the cloud for speech recognition instead of having it all there. (For example, why would i waste memory to store a database which allows kinect to recognize the words Harry Porter, if those words are only meaningful in an online environment, or in a HP game, but in this case the game can load it's own commands itself)

8 GB is certainly a lot more than I would have predicted for this generation of consoles. But that was when I was thinking of each console as only a gaming machine. At which point 2-4 GB would be more than enough.

Throw in potential app store purchases, however, combined with robust and unrestricted (probably no Flash support though) web browsing and suddenly 8 GB for a console start to make sense. And that's not to mention TVbox functionality. Assuming a video record function, you absolutely do not want the video stream recording to compete with a game for HDD access, when HDD access is already going to be a potentially large gaming bottleneck.

And hell, as I mentioned previously, even if there are no app purchases, no robust included living room apps, etc. There's always the possibility to pre-cache game data in non-game memory for faster level loading, asset streaming, etc.

Regards,
SB

That is something that i would have no problem at all to have large chunks of memory reserved over :p
 
What do you make of this patent?

For Orbis:?:
Method and system for tag-based grouping of online communities are disclosed. One or more tags associated with a user of a computer game system may be obtained by the computer system. One or more groups compatible with the user's one or more tags may be identified by the computer system. The user may then be prompted to join the one or more clans located by the computer game system.
http://appft1.uspto.gov/netacgi/nph...7872.PGNR.&OS=DN/20130017872RS=DN/20130017872

MsUBRo2.png
 
I guess if the extra ram is super cheap (taken across the lifetime of the platform) you might as well keep as much as possible loaded and minimise background app switching times (I image X3 apps will be able to Tombstone like WP7/8 and Metro).

Personally I think the key design concern with Durango is simply that it's "2 real-time systems in 1 box".

So whilst there would be an annoying delay if the 'set-top-box/os/kinect-thingy' needed to swap data, perhaps more importantly if the 720 needed the disk at the same time it would stall...
 
Personally I think the key design concern with Durango is simply that it's "2 real-time systems in 1 box".

That's a good way of putting it. It's both your universal media box and your games console at the same time. With Kinect 2 sitting on top of both and acting as a smart interface (along with smartglass and your pad).
 
I've actually been thinking about the two systems in one box, and that does raise interesting questions about the OS. I think it'll be Windows 8, but Windows 8 is not a real-time OS. If the rumours are correct, where 2 CPU cores and 3 GB of RAM are "reserved" for the OS, and the GPU is shared(?), would at least a soft real-time OS be a requirement for making this thing work in a reasonably performant manner? What kind of real-time capabilities does Windows 8 have?
 
Back
Top