Outatime: Using Speculation to Enable Low-Latency Continuous Interaction for Mobile Cloud Gaming

[highlights] g aming is the most popular mobile activity, accounting for nearly a third of the time spent on mobile devices. Recently, cloud gaming – where datacenter servers execute the games on behalf of thin clients that merely transmit UI input events and display output rendered by the servers – has emerged as an interesting alternative to traditional client-side execution. Cloud gaming offers several advantages. First, every client can enjoy the high-end graphics provided by powerful server GPUs. This is especially appealing for mobile devices, such as basic laptops, phones, tablets, TVs and other displays lacking high-end GPUs. Second, cloud gaming eases developer pain. Platform compatibility headaches and vexing per-platform performance tuning – sources of much developer frustration – are eliminated. Third, cloud gaming simplifies software deployment and management. content additions, etc.) is far easier than modifying clients. Finally, players can select from a vast library of titles and instantly play any of them. Sony, Nvidia, Amazon are among the providers that currently offer cloud gaming services. However, cloud gaming faces a key technical dilemma: how can players attain real-time interactivity in the face of wide-area latency? Real-time interactivity means client input events should be quickly reflected on the client display. User studies have shown that players are sensitive to as little as 60ms latency, and are aggravated at latencies in excess of 100ms [1]. A further delay degradation from 150ms to 250ms lowers user engagement by 75% [2]. One way to address latency is to move servers closer to clients. Unfortunately, not only are decentralized edge servers more expensive to build and maintain, local spikes in demand cannot be routed to remote servers, which further magnifies costs. Most importantly, high latencies are often attributed to the networks' last mile. Recent studies have found that the 95th percentile of network latencies for 3G, Wi-Fi and LTE are over 600ms, 300ms and 400ms, respectively [4]. In fact, even well-established residential wired last mile links tend to suffer from latencies in excess of 100ms when under load. Unlike non-interactive video streaming, buffering is not possible for interactive gaming. Instead, we mitigate wide-area latency via speculative execution. Our system, Outatime, delivers real-time gaming interactivity as fast as – and in some cases, even faster than – traditional local client-side execution, despite latencies up to 120ms. Outatime's basic approach is to employ speculative execution to render multiple possible frame outputs, which could occur at …