By using this site, you agree to our Privacy Policy and our Terms of Use. Close
SvennoJ said:
Machiavellian said:
 

I am not to sure on this.  As mentioned the two technologies are totaly different.  If what I post is pretty much common knowledge please bear with me.

Gaikai host a game instance on a server, then streams the video to a client. For each person who wants to play a certain game, an instance of that game is created. Think of this like having multiple virtual machines. For example sake, lets say 5 virtual or even hardware machines each one running a version of windows and either sharing or have its own vid card. So when a users request a game, the virtual/hardware machine spins up an instance of that game. Software behinds the scenes take the outputted video, compresses it and streams it to a client. There is software on the client end that docompresses the video, and display the results while capturing input data and sends it back to the server. The software does not perform any computations of game code nor does it distribute it resources among multiple different servers.

Cloud Compute execute code or jobs like your CPU/GPU would natively on your console. Think of how the Cell processor works. Developers create multiple jobs which are just snippets of code that they send to the different cell processors to work in parallel. The Cell processor works on each code independent of the other processors and sends back it's results. From here the main processor takes the finished code and deliver the results depending on what was calculated like, AI, physics, lighting you name it. With cloud compute, MS is able to leverage thousands of servers each having a number or processors and each processor able to execute multiple threads.  The way that MS cloud platform works is that all of these resources are virtual.  They are not tied to any particular hardware for fault tolerance.  

From the way that MS new Orleans platform works, developers can host an instance of their code on the cloud.  This takes care of bandwidth and latency issues when sending from the client machine.  On the cloud server, the code is executed and can be replicated to multuple instances.  The code could then split out processes to be worked on like a Cell processor and then the results combined and sent back to the client machine.

People have stated that why would MS go down this route when you have games able to do the calculations upfront.  As I was doing a little digging on my break. I stumble on this intel project to do ray tracing using cloud compute.  The article presents some interesting ideals on the type of rendering techniques that could be performed on the cloud that you would not see within your current or even next gen console.  Here is the link

http://software.intel.com/en-us/articles/experimental-cloud-based-ray-tracing-using-intel-mic-architecture-for-highly-parallel

Have you read that article all the way through? It is completely different from the ideas behind cloud compute that MS is hinting at for games. For starters they're running it using gigabit ethernet, and then claim that's still not fast enough to transfer the raw result data. 720p60 they use as a target = 1264 mbps.

This is an end solution like Gaika and OnLive. Ray-tracing is completely dependent on the viewer's position and produces a rendered final image. They give a detailed explanation in the end, with examples of 132ms and 234ms latency from controller input to image on screen. The cloud computing in this case is their multi server setup where the image is rendered tile based.

Yes, I read the articale all the way through.  Do not forget that they are not using a compression scheme like H.264 but Dxt. They are not using the more bandwidth/latency technique like the Tiled Based rendering but the scene based one.  They do mention the different compression schemes and do remember that the X1 has dedicated hardware to perform those actions.  Also the article is a proof of concept and more than a year old.  I use it as a means to show the different rendering techniques that could be implemented by using the Cloud that is not realistic or possible on current or next gen hardware.

 Also this is not similar to Gaikai as Gaikai host a game instance on a server.  Gaikai cannot split different processing of a game code like this solution as Gaikai can only just execute a game just like you would on your PC. The games are run as if you ran them on your PC and they are not distributed amoung other servers for load balancing or distributed work.  Also Gaikai cannot change the rendering, physics, lighting or AI of a game which this solution would.  The only simlar part is how the fame is sent to the client machine as a compressed video.

The Intel implementation  is actually running game code which is the rendering peiece on multiple servers.  Its distributing the work amoung multiple servers.  As the artile states, it takes either a piece of a frame and distribute them or it can have each server process individual frames.  This is eactly the type of setup MS is talking about.  MS cloud compute can take individual code and execute them amoug multiple servers.  It can split the task and create new instances to process the work.  MS cloud compute can be the rendering engine just like this Intel demo or it can process, other parts of code.  All of this is done based on the AI Intel created for their rendering engine which probably would like the Orleans setup within within Azure.

Think of this demo as an example of MS cloud compute actually rendering a scene within a game using cloud compute and ray tracing.  It doesn't stop there as mentioned witin the article, other highly CPU intensive task like Voxels or point rendering could also be done using cloud compute.  I guess the key is that Developers will have a host of options on the rendering from besides the ones mentioned within the EG article and given into the hands of talent developers could prove impressive. 

There are other articles on doing raytracing over the cloud including MS Azure being the platform for Pixar rendering farm.