Massively Multiplayer Online Games (MMOG) are a challenging class of applications: they combine high demands on real-time user interactivity and adaptability with the problem of an efficient and economic utilization of resources for the dynamically changing number of users. This chapter studies how MMOG can benefit from Cloud Computing with its Infrastructure-as-a-Service (IaaS) approach to cost-efficient leasing resources on demand. The chapter makes two major contributions: (1) a new lifecycle model for the development of adaptable MMOG expresses major design and execution aspects of Cloud-based MMOG, and (2) a resource management system RTF-RMS implements efficient load balancing for MMOG on Clouds. The authors illustrate how their lifecycle model and RTF-RMS system support the efficient development and execution of adaptable MMOG on Clouds and demonstrate the advantages of their approach in an experimental evaluation.
This chapter is motivated by the high performance requirements of Massively Multiplayer Online Games (MMOG): short response times to user inputs (about 0.1–1.5 s), frequent state updates (up to 50 Hz), large and frequently changing number of users in a single application instance (up to 104 simultaneously). MMOG combine high demands on the adaptability (i.e., changing the application processing during runtime in order to balance the changing load of application servers caused by fluctuating interactivity between users) and real-time user interactivity with the problem of efficient and economic utilization of resources for the dynamically changing number of users. It is desirable to avoid an up-front investment for building an expensive server pool which would successfully handle peak user numbers in MMOG but would remain underutilized most of the time. Cloud Computing with its Infrastructure-as-a-Service (IaaS) approach to leasing virtual resources on demand is particularly promising for efficient and economic resource provisioning for MMOG: it offers the possibility for small and medium-sized companies to develop and provide large-scale software applications and at the same time avoid risky and expensive up-front investments into hardware resources.
The availability of potentially unlimited Cloud resources leads to large and complex distributed systems and, therefore, increases the demand for adaptable MMOG and efficient load balancing. Common Cloud platforms offer services for monitoring and workload distribution for their Cloud resources, e.g., Amazon Cloud Watch or Amazon Elastic Load Balancing for Amazon Elastic Compute Cloud (EC2) resources (Amazon Web Services, 2015). However, these services currently only provide generic system information about resource utilization (e.g., CPU load, memory consumption, bandwidth, etc.) which are not sufficient for the workload analysis of MMOG according to the previous studies (Ploss, Meiländer, Glinka, & Gorlatch, 2011). Recent studies by Ploss et al. (2011) and Nae, Iosup, Prodan, & Fahringer (2009) show how the performance requirements of MMOG can be fulfilled on commercial Cloud systems like the Amazon Elastic Compute Cloud (Amazon Web Services, 2015).
This chapter addresses the development of adaptable MMOG and their efficient execution in Cloud environments. For this purpose, we utilize our Real-Time Framework (RTF) (Gorlatch, Glinka, Ploss, & Meiländer, 2012) – a high-level framework for developing and efficient execution of highly interactive, distributed applications including MMOG. RTF provides application-specific monitoring values suitable for MMOG workload analysis and efficient parallelization concepts suitable for transparent workload (re-)distribution in MMOG. We use our example application RTFDemo (Gorlatch, Glinka, Ploss, & Meiländer, 2012), which was built using RTF, for illustrating and evaluating the concepts and contributions proposed in this chapter.
The chapter focuses on Infrastructure-as-a-Service (IaaS), rather than other Cloud technologies like Platform-as-a-Service (PaaS) or Software-as-a-Service (SaaS), because we aim at exploiting the processing power of Cloud resources for high-performance MMOG execution. Since MMOG typically have an individual application logic that does not incorporate external services and the application processing is distributed on multiple resources, IaaS is most suitable for MMOG execution on Clouds: IaaS provides services comprising compute and storage resources that are hosted and maintained by an infrastructure provider.
In this chapter, we deal with two main areas:
For 1, we propose a novel lifecycle model for MMOG development and execution in Cloud environments that addresses the following major challenges: