ShareRender: Bypassing GPU Virtualization to Enable Fine-grained Resource Sharing for Cloud Gaming

Cloud gaming is promising to provide high-quality game services by outsourcing game execution to cloud so that users can access games via thin clients (e.g., smartphones or tablets). However, existing cloud gaming systems su er from low GPU utilization in the virtualized environment. Moreover, GPU resources are scheduled in units of virtual machines (VMs) and this kind of coarse-grained scheduling at the VM-level fails to fully exploit GPU processing capacity. In this paper, we present ShareRender, a cloud gaming sys- tem that o oads graphics workloads within VMs directly to GPUs, bypassing GPU virtualization. For each game running in a VM, ShareRender starts a graphics wrapper to intercept frame rendering requests and assign them to render agents responsible for frame rendering on GPUs. Thanks to the exible workload assignment among multiple render agents, ShareRender enables ne-grained resource sharing at the frame-level to signi cantly improve GPU utilization. Further more, we design an online algorithm to determine workload assignment and migration of render agents, which considers the tradeo between minimizing the number of active server and low agent migration cost. We conduct experiments on real deployment and trace-driven simulations to evaluate the performance of ShareRender under di erent system settings. The results show that ShareRender outperforms the existing video-streaming-based cloud gaming system by over 4 times.

[1]  Cheng-Hsin Hsu,et al.  GamingAnywhere: an open cloud gaming system , 2013, MMSys.

[2]  Yin Wang,et al.  VGRIS: Virtualized GPU Resource Isolation and Scheduling in Cloud Gaming , 2013, TACO.

[3]  Che-Rung Lee,et al.  G-KVM: A Full GPU Virtualization on KVM , 2016, 2016 IEEE International Conference on Computer and Information Technology (CIT).

[4]  Srikanth Kandula,et al.  Multi-resource packing for cluster schedulers , 2015, SIGCOMM.

[5]  Wentong Cai,et al.  Play Request Dispatching for Efficient Virtual Machine Usage in Cloud Gaming , 2015, IEEE Transactions on Circuits and Systems for Video Technology.

[6]  Ryan Shea,et al.  On GPU pass-through performance for cloud gaming: Experiments and analysis , 2013, 2013 12th Annual Workshop on Network and Systems Support for Games (NetGames).

[7]  A. De Gloria,et al.  Distributed video game streaming system for pervasive gaming , 2009 .

[8]  Srikanth Kandula,et al.  Multi-resource packing for cluster schedulers , 2014, SIGCOMM.

[9]  Klara Nahrstedt,et al.  Real-time parallel remote rendering for mobile devices using graphics processing units , 2010, 2010 IEEE International Conference on Multimedia and Expo.

[10]  Chau Yuen,et al.  Enabling Adaptive High-Frame-Rate Video Streaming in Mobile Cloud Gaming Applications , 2015, IEEE Transactions on Circuits and Systems for Video Technology.

[11]  Gwendal Simon,et al.  Dissecting games engines: The case of Unity3D , 2015, 2015 International Workshop on Network and Systems Support for Games (NetGames).

[12]  Hua-Jun Hong,et al.  Enabling Adaptive Cloud Gaming in an Open-Source Cloud Gaming Platform , 2015, IEEE Transactions on Circuits and Systems for Video Technology.

[13]  Hua-Jun Hong,et al.  Placing Virtual Machines to Optimize Cloud Gaming Experience , 2015, IEEE Transactions on Cloud Computing.

[14]  Yuan Zhang,et al.  Fine-grained multi-resource scheduling in cloud datacenters , 2014, 2014 IEEE 20th International Workshop on Local & Metropolitan Area Networks (LANMAN).

[15]  Weimin Zheng,et al.  A Cloud Gaming System Based on User-Level Virtualization and Its Resource Scheduling , 2016, IEEE Transactions on Parallel and Distributed Systems.

[16]  Haiying Shen,et al.  CloudFog: Leveraging Fog to Extend Cloud Gaming for Thin-Client MMOG with High Quality of Service , 2017, IEEE Transactions on Parallel and Distributed Systems.

[17]  Klara Nahrstedt,et al.  A real-time remote rendering system for interactive mobile graphics , 2012, TOMCCAP.

[18]  Wentong Cai,et al.  Server Allocation for Multiplayer Cloud Gaming , 2016, ACM Multimedia.

[19]  Chao Zhang,et al.  vGASA: Adaptive Scheduling Algorithm of Virtualized GPU Resource in Cloud Gaming , 2014, IEEE Transactions on Parallel and Distributed Systems.

[20]  Wei Cai,et al.  The Future of Cloud Gaming [Point of View] , 2016, Proc. IEEE.

[21]  Alec Wolman,et al.  Outatime: Using Speculation to Enable Low-Latency Continuous Interaction for Mobile Cloud Gaming , 2015, MobiSys.

[22]  Zhen Xiao,et al.  Dynamic Resource Allocation Using Virtual Machines for Cloud Computing Environment , 2013, IEEE Transactions on Parallel and Distributed Systems.

[23]  Ryan Shea,et al.  Cloud gaming: architecture and performance , 2013, IEEE Network.

[24]  Yaozu Dong,et al.  A Full GPU Virtualization Solution with Mediated Pass-Through , 2014, USENIX Annual Technical Conference.

[25]  Bingsheng He,et al.  gScale: Scaling up GPU Virtualization with Dynamic Sharing of Graphics Memory Space , 2016, USENIX Annual Technical Conference.

[26]  Ryan Shea,et al.  Rhizome: utilizing the public cloud to provide 3D gaming infrastructure , 2015, MMSys.

[27]  Li Lin,et al.  LiveRender: A Cloud Gaming System Based on Compressed Graphics Streaming , 2014, IEEE/ACM Transactions on Networking.

[28]  Alessandro De Gloria,et al.  Platform for Distributed 3D Gaming , 2009, Int. J. Comput. Games Technol..