Table of Contents
Fetching ...

Capsule: Efficient Player Isolation for Datacenters

Zhouheng Du, Nima Davari, Li Li, Wei Sen Loi, Nodir Kodirov

TL;DR

Capsule addresses cloud gaming datacenter inefficiency by multiplexing GPU and other resources across multiple players inside a single game engine instance. It introduces Capsule Storage and an ECS-based architecture to provide per-player isolation and cross-player sharing without requiring application changes, demonstrating up to 2.25x more players with sublinear resource growth. Implemented in the O3DE engine, Capsule reduces GPU, VRAM, CPU, and RAM footprints while maintaining player experience, and shows generalizability to other engines and cloud providers. This approach offers a practical path to higher datacenter utilization for diverse graphics workloads in cloud gaming scenarios.

Abstract

Cloud gaming is increasingly popular. A challenge for cloud provider is to keep datacenter utilization high: a non-trivial task due to application variety. These applications come in different shapes and sizes. So do cloud datacenter resources, e.g., CPUs, GPUs, NPUs. Part of the challenge stems from game engines being predominantly designed to run only one player. For example, one player in a lightweight game might utilize only a fraction of the cloud server GPU. The remaining GPU capacity will be left underutilized, an undesired outcome for the cloud provider. We introduce Capsule, a mechanism to seamlessly share one GPU, and other cloud servers resources, across multiple players. Sharing makes the cost of multiple players sublinear. We implemented Capsule in O3DE, a popular open source game engine. Our evaluations show that Capsule increases datacenter resource utilization by accommodating up to 2.25x more players, without degrading player gaming experience. This is the product of Capsule using up to 1.43x less GPU, 3.11x less VRAM, 3.7x less CPU, and 3.87x less RAM compared to the baseline. Capsule is also application agnostic. We ran four applications on Capsule-based O3DE with no application changes. Our experiences with four applications, three servers with different hardware specifications, including the one with four GPUs, and multi-server cluster show that Capsule design can be adopted by other game engines to increase datacenter utilization across cloud providers.

Capsule: Efficient Player Isolation for Datacenters

TL;DR

Capsule addresses cloud gaming datacenter inefficiency by multiplexing GPU and other resources across multiple players inside a single game engine instance. It introduces Capsule Storage and an ECS-based architecture to provide per-player isolation and cross-player sharing without requiring application changes, demonstrating up to 2.25x more players with sublinear resource growth. Implemented in the O3DE engine, Capsule reduces GPU, VRAM, CPU, and RAM footprints while maintaining player experience, and shows generalizability to other engines and cloud providers. This approach offers a practical path to higher datacenter utilization for diverse graphics workloads in cloud gaming scenarios.

Abstract

Cloud gaming is increasingly popular. A challenge for cloud provider is to keep datacenter utilization high: a non-trivial task due to application variety. These applications come in different shapes and sizes. So do cloud datacenter resources, e.g., CPUs, GPUs, NPUs. Part of the challenge stems from game engines being predominantly designed to run only one player. For example, one player in a lightweight game might utilize only a fraction of the cloud server GPU. The remaining GPU capacity will be left underutilized, an undesired outcome for the cloud provider. We introduce Capsule, a mechanism to seamlessly share one GPU, and other cloud servers resources, across multiple players. Sharing makes the cost of multiple players sublinear. We implemented Capsule in O3DE, a popular open source game engine. Our evaluations show that Capsule increases datacenter resource utilization by accommodating up to 2.25x more players, without degrading player gaming experience. This is the product of Capsule using up to 1.43x less GPU, 3.11x less VRAM, 3.7x less CPU, and 3.87x less RAM compared to the baseline. Capsule is also application agnostic. We ran four applications on Capsule-based O3DE with no application changes. Our experiences with four applications, three servers with different hardware specifications, including the one with four GPUs, and multi-server cluster show that Capsule design can be adopted by other game engines to increase datacenter utilization across cloud providers.

Paper Structure

This paper contains 8 sections, 7 figures, 1 table.

Figures (7)

  • Figure 1: Existing isolation mechanisms in the cloud. Lambdas are lightweight but require knowledge of application semantics. Virtual Machines are agnostic to semantics but are heavyweight. The container approach strikes the right balance for gaming applications.
  • Figure 2: Capsule-based cloud architecture. Capsule provides player isolation by relying on Capsule Storage for player state management.
  • Figure 3: Player entity tracking using global and local Capsule storage. Global storage is instantiated only once. Local storage is created as players join and is destroyed when they leave the game.
  • Figure 4: Scalability of Capsule as we increase number of players. Capsule and Baseline host up to 9 and 4 players, respectively, on the Exhibition application. Capsule accommodates up to 2.25x more players thanks to sublinear resources increase per added player.
  • Figure 5: System-wide utilizations with Capsule and Baseline on SingleGPU workstation.
  • ...and 2 more figures