• No results found

Cloud computing is a model for delivering computing as a service rather than a product. It enables ubiquitous, convenient and on-demand access to a shared pool of resources such as networks, servers and storage, provided to computers and other emerging devices as a utility over a network (Mell & Grance, 2011). In cloud computing, the sharing of resources is fundamental in maximising their ef- fectiveness and achieving economies of scale. Thus, resources are not only shared across multiple users but also reprovisioned on demand. Cloud computing has enabled the use of low performance devices for tasks beyond their computational capabilities. Complex tasks are assimilated into cloud services, allowing appli- cations running on these devices to consume them and, through a messaging pattern such as the request-response model, perform computations on the cloud and receive the results in a fraction of the time it would take the local device to compute. The ability of the technology to scale on demand has been exploited by organisations, both large and small, to provide or consume non-interactive rendering services whilst offsetting the huge associated upfront hardware and in- frastructural investments (Baharonet al., 2013). Popular cloud rendering services provide users with an interface to upload and queue rendering jobs for execution on a cloud render farm (renderRocket, 2014;Autodesk 360, 2014).

In the context of interactive rendering, the entertainment industry has started offering cloud-based computing services for gaming (OnLive, 2014; PlayStation

4. Parallel and Distributed Rendering 76

Now, 2014; Manzanoet al., 2012). A thin client connects to a data-centre in the cloud, where the service provider hosts and runs the actual game, and receives its audiovisual output stream. User input, such as directional controls and button presses, are transmitted by the client to the server, fed to the game and in response, the game output is sent back to the client in the form of a compressed video stream. The bulk of the computation is carried out at the provider’s data- centre, allowing a wide range of devices to consume the service, making the computational capacity of the client device largely irrelevant. These systems offer a truly platform-independent experience as the games can be played on any machine with an internet connection.

The remote servers will run a single game per machine, depending on how computationally demanding the game is; in the case of older titles, virtualisation is used to allow running multiple instances of the game on the same machine∗. Bandwidth requirements for a number of cloud game streaming services are shown in Table 4.1. These systems offer a service that is equivalent to running the games on a desktop machine with a reasonably good graphics card, and do not attempt to advance the fidelity of the rendering beyond what is currently possible on a single machine. Although effective in providing the same experience to a plethora of devices with varying capabilities, this paradigm is highly susceptible to net- work latency and bandwidth constraints. High definition (HD) and ultra high definition (UHD) streams, especially at higher frame rates, transfer significant amounts of data (see tables 4.1, 4.2), and may exclude some network configu- rations due to bandwidth limitations or the introduction of undesired latency in programs that require low response times. In these settings, each client con- nects to an application that performs the rendering in isolation. This one-to-one approach precludes the possibility of rendering algorithms that amortise compu- tation complexity over a number of concurrent clients, as opposed to multi-user environments.

Service Resolution Bandwidth Connection

OnLive† 576p 2 Mbps WiFi, Wired

OnLive 720p 5 Mbps WiFi, Wired

PlayStation Now‡ 720p§ 5 Mbps Wired

Table 4.1: Bandwidth requirements for cloud game streaming services.

http://www.joystiq.com/2009/04/02/gdc09-interview-onlive-founder-steve-perlman- continued/

4. Parallel and Distributed Rendering 77

Pajak et al. (2011) propose an efficient compression and streaming algorithm for remote rendering that uses augmented video information, such as depth, to aid in the image reconstruction at client-side. Their solution is also robust to information loss and takes into consideration limited bandwidth connections. The focus of these solutions is primarily on the efficient delivery of interactive streaming content, with the aim of keeping latency at a possible minimum.

Service Resolution Bandwidth

Netflix SD 2.0 Mbps Netflix 720p 4.0 Mbps Netflix HD 5.0 Mbps Hulu Plus SD 1.0 Mbps Hulu Plus 720p 2.0 Mbps Hulu Plus HD 3.2 Mbps

Table 4.2: Bandwidth requirements for various video-on-demand services.

Yet, cloud technologies have the potential for providing a large number of resources to dedicate to a single application at any given point in time, to further the fidelity of interactive rendering beyond what is possible on a single power- ful desktop machine. Crassin et al. (2013) proposed CloudLight, a system for computing a partial solution to the global illumination problem in the cloud. Particularly, CloudLight computes the indirect lighting component in the cloud to augment interactive rendering on client devices for a full global illumination solution. The focus of CloudLight is low network latency and the amortisation of indirect lighting computations over multi-user virtual environments. Three light- ing algorithms, namely voxels (Crassin et al., 2011), irradiance maps (Mitchell

et al., 2006) and photon tracing (Jensen, 2001; Mara et al., 2013) are mapped to the system and classified in terms of user compute and bandwidth require- ments (see Table 4.3). The results show that irradiance maps scored lowest in terms of user compute and bandwidth requirements (1.4 - 1.6 Mbps), with a modified version of the H.264 codec being used to stream the maps to the clients. The voxel-based solution requires between 3 to 15 Mbps of bandwidth

https://support.onlive.com/hc/en-us/articles/201229050-Computer-and-Internet- Requirements-for-PC-Mac- ‡https://support.us.playstation.com/app/answers/detail/a id/5299/˜/playstation-now- network-connection-information §http://www.dualshockers.com/2014/06/10/playstation-now-faq-answers-every-question- you-may-have-pricing-and-more-finally-detailed/

4. Parallel and Distributed Rendering 78

per client and is in the mid-range with respect to computational complexity in the reconstruction of indirect lighting at the client. Finally, the photon tracing solution scored high for both classes, requiring both a relatively powerful client machine and substantial bandwidth, with rates ranging from 25 to 43 Mbps. The irradiance maps strategy is cheap in terms of bandwidth and client compute power requirements, however its application is limited to scenes with appropriate UV-parameterisation, which may be problematic to acquire or define for more complex scenes. As a consequence of this limitation, the authors provide results for half the tested scenes. The voxel-based implementation supports 5 clients at 30 Hz, and 25 at 12 Hz, while the photon tracing implementation shows good scaling for up to 30 clients before the network is saturated. The system was shown to scale up to 50 simultaneous users for a single virtual environment.

Costs Voxels Irradiance Maps Photons

User compute medium low high

Bandwidth high low medium

Table 4.3: CloudLight classifications of indirect lighting algorithms with respect to bandwidth and compute power required for client reconstruction (Low is bet- ter).