ABSTRACT
In cloud gaming, servers perform remote rendering on behalf of thin clients. Such a server must deliver sufficient frame rate (at least 30fps) to each of its clients. At the same time, each client desires an immersive experience, and therefore the server should also provide the best graphics quality possible to each client. Statically provisioning time slices of the server GPU for each client suffers from severe underutilization because clients can come and go, and scenes that the clients need rendered can vary greatly in terms of GPU resource usage over time.
In this work, we present dJay, a utility-maximizing cloud gaming server that dynamically tunes client GPU rendering workloads in order to 1) ensure all clients get satisfactory frame rate, and 2) provide the best possible graphics quality across clients. To accomplish this, we develop three main components. First, we build an online profiler that collects key cost and benefit data, and distills the data into a reusable regression model. Second, we build an online utility optimizer that uses the regression model to tune GPU workloads for better graphics quality. The optimizer solves the Multiple Choice Knapsack problem. We demonstrate dJay on two high quality commercial games, Doom 3 and Fable 3. Our results show that when compared to a static configuration, we can respond much better to peaks and troughs, achieving up to four times the multi-tenant density on a single server while offering clients the best possible graphics quality.
- Amazon appstream. http://aws.amazon.com/appstream.Google Scholar
- Lxc. http://linuxcontainers.org.Google Scholar
- Nvidia grid cloud gaming. http://shield.nvidia.com/grid.Google Scholar
- Sony playstation now streaming. http://us.playstation.com/playstationnow.Google Scholar
- A. Adya, J. Dunagan, and A. Wolman. Centrifuge: Integrated lease management and partitioning for cloud services. In NSDI, 2010. Google ScholarDigital Library
- M. Armbrust, A. Fox, R. Griffith, A. D. Joseph, R. Katz, A. Konwinski, G. Lee, D. Patterson, A. Rabkin, I. Stoica, and M. Zaharia. A view of cloud computing. Commun. ACM, 53(4):50--58, Apr. 2010. Google ScholarDigital Library
- M. Claypool, K. Claypool, and F. Damaa. The effects of frame rate and resolution on users playing first person shooter games, 2006.Google ScholarCross Ref
- E. Cuervo, A. Wolman, L. P. Cox, K. Lebeck, A. Razeen, S. Saroiu, and M. Musuvathi. Kahawai: High-quality mobile gaming using gpu offload. In MobiSys, May 2015. Google ScholarDigital Library
- G. DeCandia, D. Hastorun, M. Jampani, G. Kakulapati, A. Lakshman, A. Pilchin, S. Sivasubramanian, P. Vosshall, and W. Vogels. Dynamo: Amazon's highly available key-value store. In SOSP, 2007. Google ScholarDigital Library
- M. Deloura. Game Programming Gems. Charles River Media, Inc., Rockland, MA, USA, 2000. Google ScholarDigital Library
- M. Dowty and J. Sugerman. Gpu virtualization on vmware's hosted i/o architecture. In WIOV, 2008. Google ScholarDigital Library
- R. Grandl, G. Ananthanarayanan, S. Kandula, S. Rao, and A. Akella. Multi-resource packing for cluster schedulers. In SIGCOMM, 2014. Google ScholarDigital Library
- S. Hollister. Onlive lost: how the paradise of streaming games was undone by one man's ego. http://www.theverge.com/2012/8/28/3274739/onlive-report, 2012.Google Scholar
- G. Humphreys, M. Houston, R. Ng, R. Frank, S. Ahern, P. D. Kirchner, and J. T. Klosowski. Chromium: A stream-processing framework for interactive rendering on clusters. In Proceedings of the 29th Annual Conference on Computer Graphics and Interactive Techniques, SIGGRAPH '02, pages 693--702, New York, NY, USA, 2002. ACM. Google ScholarDigital Library
- M. Isard, V. Prabhakaran, J. Currey, U. Wieder, K. Talwar, and A. Goldberg. Quincy: Fair scheduling for distributed computing clusters. In SOSP, 2009. Google ScholarDigital Library
- D. Karger, A. Sherman, A. Berkheimer, B. Bogstad, R. Dhanidina, K. Iwamoto, B. Kim, L. Matkins, and Y. Yerushalmi. Web caching with consistent hashing. In WWW, 1999. Google ScholarDigital Library
- H. Kellerer, U. Pferschy, and D. Pisinger. Knapsack Problems. Springer Science and Business Media, 2004.Google ScholarCross Ref
- Y. Kwon, M. Balazinska, B. Howe, and J. Rolia. Skewtune: Mitigating skew in mapreduce applications. In SIGMOD, 2012. Google ScholarDigital Library
- H. A. Lagar-Cavilla, N. Tolia, M. Satyanarayanan, and E. de Lara. Vmm-independent graphics acceleration. In VEE, 2007. Google ScholarDigital Library
- K. Lee, D. Chu, E. Cuervo, J. Kopf, Y. Degtyarev, S. Grizan, A. Wolman, and J. Flinn. Outatime: Using speculation to enable low-latency continuous interaction for cloud gaming. MobiSys 2015, May 2015. Google ScholarDigital Library
- W. R. Mark, L. McMillan, and G. Bishop. Post-rendering 3d warping. In Proceedings of the 1997 Symposium on Interactive 3D Graphics, I3D '97, pages 7--ff., New York, NY, USA, 1997. ACM. Google ScholarDigital Library
- S. Martello and P. Toth. Knapsack Problems: Algorithms and Computer Implementations. John Wiley & Sons, Inc., New York, NY, USA, 1990. Google ScholarDigital Library
- D. E. Porter, S. Boyd-Wickizer, J. Howell, R. Olinsky, and G. Hunt. Rethinking the library os from the top down. In ASPLOS, 2011. Google ScholarDigital Library
- D. Price and A. Tucker. Solaris Zones: Operating System Support for Consolidating Commercial Workloads. In LISA, 2004. Google ScholarDigital Library
- K. Tian, Y. Dong, and D. Cowperthwaite. A full gpu virtualization solution with mediated pass-through. In USENIX ATC, 2014. Google ScholarDigital Library
- Z. Wang, A. C. Bovik, H. R. Sheikh, and E. P. Simoncelli. Image quality assessment: From error visibility to structural similarity. Trans. Img. Proc., 13(4):600--612, Apr. 2004. Google ScholarDigital Library
Index Terms
- dJay: enabling high-density multi-tenancy for cloud gaming servers with dynamic cost-benefit GPU load balancing
Recommendations
Self-adapting credit-based server load balancing
PDCN '08: Proceedings of the IASTED International Conference on Parallel and Distributed Computing and NetworksClusters are a popular platform to build highly available and scalable service solutions. Usually, the front-end dispatcher distributes the load to the back-end servers in a round-robin fashion or according to current server load based on external load ...
Ananta: cloud scale load balancing
Layer-4 load balancing is fundamental to creating scale-out web services. We designed and implemented Ananta, a scale-out layer-4 load balancer that runs on commodity hardware and meets the performance, reliability and operational requirements of multi-...
Design of an adaptive GPU sharing and scheduling scheme in container-based cluster
AbstractContainer based virtualization is an innovative technology that accelerates software development by providing portability and maintainability of applications. Recently, a growing number of workloads such as high performance computing (HPC) and ...
Comments