At least some of that answer is dependent on exactly how the game environment is virtualized.
Functions that need permissions reserved for the hypervisor or host OS are going to take longer to execute. There are ways to grant some awareness of the virtualized system, or having the main OS present a virtualized environment to the game processes.
It's also a question of the hardware enhancements for supporting fast transitions from virtual to host address spaces. Jaguar's improvements here haven't been benchmarked.
I tried to research figures on the topic, it is pretty tough to find anything relevant.I don't have enough familiarity with this sort of environment to say.
CPU benchmarks have put less efficient virtualization schemes without x86 virualization extensions with performance loss at 20-30%.
With hardware enhancements and various optimizations, it has been shown to be in the single digits.
I don't know what virtualizing the GPU would cost. It hasn't been fully shared until recently.
Though I wonder if MSFT could present a given number of cores as Virtual jaguar alter ego, and may be few tweaked cores on which would be pinned whatever tasks that are unlikely to keep a single CPU core busy.If your app spends a lot of time in the kernel and has high amounts of I/O going on, the performance hit may be high (15-30%). But that does mean your application will have to suffer this performance hit. If you spend more time on optimizing (database buffering, jumbo frames) and if you use paravirtualized drivers (VMXnet, PVSCSI) the performance will get a lot smaller (5-10%). In short, performance hit can be high if you just throw your native application in a VM, but modern hypervisors are able to keep the performance hit very small if you make the right choices and you take some time to tune the app and the VM.
If your application is not I/O intensive, but mostly CPU intensive, the performance hit can be unnoticeable (1-2%).
No, it does not support FMA.First the question:
We know that Jaguar cores have no FMA units, though Jaguar support somehow AVX instructions.
So the question is "does Jaguar core support the FMA instruction"?
I'm not sure that a VM is the best way to do hardware abstraction, if that is the only end goal. There has to be a lot more of a reason to do it than just that. I can understand if there were a multitude of other reasons.
The VMs can talk to each other through the hypervisor (Host OS) which handles inter-OS communication and all hardware access, and hosts the other two OS instances (Title and System) in VMs.How would this work exactly? Can VMs talk to each other? Wouldn't the game VM require some light-weight OS to handle the DirectX API calls and system services? In which VM do services like voice chat, parties, matchmaking reside? If my game is in one VM and my services for chat and parties are in another, how does the game know which chat channel to use (party, in game) etc? Does each VM run a version of the same service? How are they synchronized?
I was only mentioning the near 100% negativity that's reported from articles, speculations and shared rumors. Every bit of information from hardware specs to the slightest nuance is spun with doom and gloom.
New Rumor
Ok, moving on. Have you read the VGLeaks article about the Durango specs? Yes? Good because everything you read in that article was 100% correct. Except, for one tiny little detail that MS kept guarded from most devs until very recently. That detail being that every Durango ships with a Xbox 360 SOC.
There was a reason why MS hired so many former IBM and AMD employees. I'll admit I'm not an electrical engineer (I'm in software) so I won't pretend to know the ins and outs of how the 360 SOC integrates into the Durango motherboard. All I know, and all I need to know about this new change is that I (or a game dev) can use the 360 SOC in parallel with the original Durango hardware.
What does this mean in basic terms? Well, apart from Durango having 100% BC with the 360, it also increases Durango's processing power a fair amount.
http://www.neogaf.com/forum/showthread.php?t=541176
It's all relative, see the Durango news/specs would be received largely positively if it was the only next gen console we had rumours/leaks on and we were comparing it to say, the Wii U.
However we also have a lot of info on PS4 and so everyone automatically compares what it can and can't do to that - which is where all the negativity comes from.
what?
please, the Xbox should compare very favorably to PS4 indeed.
To suggest that the negativity is warranted due to what we know is ridiculous... we all know where it is coming from... people fueling the fire based on their own biases
The pipeline diagrams published by AMD show that Jaguar has a two vector pipes, one is capable of floating point add and one is capable of floating point mul (http://www.3dcenter.org/dateien/abbildungen/AMD-Jaguar-Presentation-Slide09.jpg). There is no FMA pipe (Haswell and BD/PD have FMA pipelines). You cannot easily do a proper FMA with separate mul and add pipes, because the intermediate result must be of "infinite" precision (rounding happens after both mul and add have been calculated). Sandy/Ivy bridge do not support FMA instruction set either (no native single cycle support, or microcode "emulated" support with add + mul + magic rounding trickery).So the question is "does Jaguar core support the FMA instruction"?
No, it does not support FMA.
Look, I don't understand entirely why they're using VMs and what all the specifics are.
Besides the resource sharing and security benefits (which are the reasons i've been given) it could also facilitate easy BC for the next Xbox (if there is one).
Or allow you to play Durango games on your PC or Surface etc
Or allow a transition to a cheaper to manufacture hardware design later on, as liolio was speculating.
The VMs can talk to each other through the hypervisor (Host OS) which handles inter-OS communication and all hardware access, and hosts the other two OS instances (Title and System) in VMs.
The Host and Title OS (which the game runs in) are both stripped down (similar to the 360 kernel) and as mentioned before, they have Dave Cutler working on low overhead virtual drivers and stuff to optimise VM performance for games.
The other System OS runs the Win8 kernel modified in a similar way to Windows Phone 8, allowing only RT stuff, with no desktop capabilities.
So i'm guessing parties, voice chat etc reside in the System OS with data passed to/from the title OS as required.
If this VM stuff is true, it really looks like a fast upgrade cycle with backwards compatibility would be a big reason to do this.
Thanks for those extra details it is always welcome.The pipeline diagrams published by AMD show that Jaguar has a two vector pipes, one is capable of floating point add and one is capable of floating point mul (http://www.3dcenter.org/dateien/abbildungen/AMD-Jaguar-Presentation-Slide09.jpg). There is no FMA pipe (Haswell and BD/PD have FMA pipelines). You cannot easily do a proper FMA with separate mul and add pipes, because the intermediate result must be of "infinite" precision (rounding happens after both mul and add have been calculated). Sandy/Ivy bridge do not support FMA instruction set either (no native single cycle support, or microcode "emulated" support with add + mul + magic rounding trickery).
For current PC software (incl games), FMA is not a big deal, as currently Intel doesn't have a single chip in the market with FMA support. It will still take several years until FMA optimized software and games are commonplace. Even without FMA Jaguar matches BD/PD vector flops per cycle / per core (and that assumes BD/PD is running a code that contains 100% FMA instructions). Not bad for a small power optimized core.
Or possibly licensing the xbox platform to 3rd party hardware manufacturers??
I was thinking of lowering cost (/use more cost efficient solution as technology evolves), I'm a bit wary with upgrade cyle, I see no reason to do it, the business model for such a thing looks super risky to me.Well, the upgrade cycle is pure speculation on my part, based on a rumour that might not even be true, so what I think about 3rd parties is really another level of speculation that is also just as likely to be meaningless.
I do wonder about those Move Engines, and how transparent they are to the developers. If they're accessed explicitly, I'm not sure how you release an upgrade a couple years later unless it follows the same model.