SummaryMobile gaming is already a popular and lucrative market. However, the low performance and reduced power capacity of mobile devices severely limit the complexity of mobile games and the duration of their game sessions. To mitigate these issues, in this article, we explore using computation-offloading, that is, allowing the compute-intensive parts of mobile games to execute on remote infrastructure. Computation-offloading raises the combined challenge of addressing the trade-offs between performance and power-consumption while also keeping the game playable. We propose Mirror, a system for computation-offloading that supports the demanding performance requirements of sophisticated mobile games. Mirror proposes several conceptual contributions: support for fine-grained partitioning, both offline (set by developers) and dynamic (policy-based), and real-time asynchronous offloading and user-input synchronization protocols that enable Mirror-based systems to bound the delays introduced by offloading and thus to achieve adequate performance. Mirror is compatible with all games that are tick-based and user-input deterministic. We implement a real-world prototype of Mirror and apply it to the real-world, complex, popular game OpenTTD. The experimental results show that, in comparison with the non-offloaded OpenTTD, Mirror-ed OpenTTD can significantly improve performance and power consumption while also delivering smooth gameplay. As a trade-off, Mirror introduces acceptable delay on user inputs.
KEYWORDScloud offloading, computation-offloading, fine-grained offloading, mirrored computation, offloading mobile games, offloading policies, system architecture
INTRODUCTIONThe mobile gaming market offers services to over 2 billion gamers, generating yearly over $100 billion and over 40% of the lucrative gaming industry. 1However, mobile devices such as smart phones and tablets have limited computational power and power supply, which severely limit the complexity of mobile games and the scale of online gaming sessions. The battery life can be depleted very quickly by a combination of, for example, heavy computations or network and camera usage, 2 which indicates that traditional sophisticated games cannot yet run long on mobile platforms. With sophisticated games, we mean games that have complex gameplay mechanics. These games can often have a high number of game objects in the game world at the same time with many possible interactions between these objects and the user. This makes these games a challenge to run smoothly on resource-constrained mobile devices and to be able to play them without rapidly depleting the device's battery. A potential approach to mitigate these problems is through computation-offloading, that is, letting remote machines run the compute-intensive parts of mobile games and letting the mobile clients only receive the results. Computation-offloading promises to free up local resources on the mobile client and possibly save much of its valuable battery power. 3 However, offloading also raises new ...