The compute graph provides the capability to easily scale up to 45 simulation nodes in a container, and well over 10 containers in a pool. With more nodes running simultaneously, we notice a large drop in the total time it takes to run all simulations. Furthermore, users can easily switch from local to cloud execution with a single command-line flag. 

I had the opportunity to utilize the Unity Engine to enhance the game used in the simulations. I worked on rebuilding some of the GameSim features including how metrics were accumulated and gathered. The data was aggregated in a stream-processing fashion, meaning aggregation was calculated as new data arrives. I worked with Kubernetes and Docker when trying to deploy my plan to Google Kubernetes Engine (GKE). Familiarizing myself with the various Kubernetes commands really came in handy when testing and debugging the compute graph.

The best part of working on this project is providing a proof of concept for how well the scheduler worked for the Game Simulation use case. The framework has so much more potential for many other use cases including computer vision and robotics while facilitating scalability and migration to the cloud.

Source: Unity Technologies Blog