Abstract

Traditional GPU resource allocation approaches, widely adopted in today’s data centers as the rise of cloud gaming, only focus on server-side functions while ignoring the client-side, which wastes hardware resources. To solve this problem, cloud-edge integrated architectures are put forward, leaving some workloads to the client-side. However, many cloud-edge integrated frameworks suffer from one big issue: shared-resource interference, stemming from two reasons: (a) GPU resource racing caused by resources overuse for single client, and (b) CPU resource racing caused by resources shortage among clients. This paper presents gRemote, an open-source cloud-rendering system that can address these issues on a GPU resource pool. To mitigate the CPU resource shortage, gRemote improves CPU configuration by expanding CPU resources from server-side to both server- and client-side. To maintain the reasonable GPU usage for individual tasks, gRemote innovates a new resource-sharing mechanism called GPU throttle. Furthermore, remote API-Forwarding brings another type of network bandwidth consumption: command streaming. To optimize the network bandwidth for GPU command transmission, gRemote proposes two methods, command characteristics-oriented (CCO) compression algorithm and command-transmitted methodology. gRemote supports 1,228 OpenGL commands and provides cloud rendering for more than 40 clients with negligible shared-resource interference. With CCO algorithm and command-transmitted methodology, the network bandwidth is saved by more than 90%.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call