Submitted Successfully!
To reward your contribution, here is a gift for you: A free trial for our video production service.
Thank you for your contribution! You can also upload a video entry or images related to this topic.
Version Summary Created by Modification Content Size Created at Operation
1 + 1514 word(s) 1514 2022-03-18 04:58:50 |
2 corrected the format -2 word(s) 1512 2022-03-25 04:10:02 |

Video Upload Options

Do you have a full video?

Confirm

Are you sure to Delete?
Cite
If you have any further questions, please contact Encyclopedia Editorial Office.
Kasenides, N. Athlos: A Framework for Developing Scalable MMOG Backends. Encyclopedia. Available online: https://encyclopedia.pub/entry/20728 (accessed on 20 June 2024).
Kasenides N. Athlos: A Framework for Developing Scalable MMOG Backends. Encyclopedia. Available at: https://encyclopedia.pub/entry/20728. Accessed June 20, 2024.
Kasenides, Nicos. "Athlos: A Framework for Developing Scalable MMOG Backends" Encyclopedia, https://encyclopedia.pub/entry/20728 (accessed June 20, 2024).
Kasenides, N. (2022, March 18). Athlos: A Framework for Developing Scalable MMOG Backends. In Encyclopedia. https://encyclopedia.pub/entry/20728
Kasenides, Nicos. "Athlos: A Framework for Developing Scalable MMOG Backends." Encyclopedia. Web. 18 March, 2022.
Athlos: A Framework for Developing Scalable MMOG Backends
Edit

The development of resource-intensive, distributed, real-time applications like Massively Multiplayer Online Game (MMOG) backends entails a variety of challenges, some of which have been extensively studied. Despite some advancements, the development and deployment of MMOG backends on commodity clouds and high-level computing layers continues to face several obstacles, including a non-standardized development methodology, lack of provisions for scalability, and the need for abstractions and tools to support the development process. In this paper, we describe a set of models, methods, and tools for developing scalable MMOG backends and hosting them on commodity cloud platforms. We present Athlos, a framework that allows game developers to leverage our methodology to rapidly prototype MMOG backends that can run on any type of cloud environment. We evaluate this framework by conducting simulations based on several case-study MMOGs to benchmark its performance and scalability, and compare the development effort needed, and quality of the code produced with other approaches. We find that MMOGs developed using this framework: (a) can support a very high number of simultaneous players under a given latency threshold, (b) elastically scale both in terms of runtime and state, and (c) significantly reduce the amount of effort required to develop them. Coupled with the advantages of high-level computing layers such as Platform, Backend, and Function-as-a-Service, we argue that our framework accelerates the development of high-performance, scalable MMOGs, that leverage the resources of commodity cloud platforms.

software architecture online games MMOGs framework

1. Introduction

The unprecedented availability of computing power provided by cloud computing technology has led to a drive towards its adoption by organizations and individuals alike [1]. Especially for businesses, the cost-effectiveness of this technology distinguishes it among other options and has made cloud computing a popular option for hosting enterprise applications, especially at the Software-as-a-Service (SaaS) layer [2]. The ever-increasing drive to migrate services to the cloud stems not only from its relative cost-effectiveness, but also from the ability to innovate and optimize business processes, especially those related to mobile and web technologies [3]. Most enterprise applications must be scalable to accommodate increasing numbers of customers while maintaining a good quality of experience and economies of scale. The services provided by such applications are often optimized for throughput and parallel execution, which makes them easy to scale due to a limited need for synchronization when accessing resources [4]. For the most part, the logic behind the services provided by such applications can be easily migrated to either a private or public cloud.
On the other hand, resource-demanding applications such as backends of Massively Multiplayer Online Games (MMOGs) are traditionally characterized by the need to rapidly synchronize and update their state. This requirement imposes several constraints which have inhibited their migration to the cloud. To cope with such high resource demands, developers and researchers have employed several technologies and approaches. Firstly, MMOGs are traditionally configured to run in sessions or rooms, utilizing zones to divide gameplay requirements among peers in a network [5][6]. These techniques limit the number of concurrent players to cope with the high resource demand. Despite increases in computing power in recent years, even Multiplayer Online Battle Arenas (MOBAs) [7] cannot support more than several hundred simultaneous players. In addition, hugely successful MMOGs with persistent worlds such as World of Warcraft have faced problems in managing such a high influx of players and had to break them down into more manageable units, with “each server [hosting] a community of about 20,000 players” [8]. Moreover, MMOG backends are categorized as soft real-time applications and must deliver a satisfactory Quality of Experience (QoE) in a market of ever-increasing competition. To achieve this, they must be able to handle these resource-demanding tasks quickly and thus offer low-latency gameplay [9]. While achieving such high performance relies on having access to raw computing power, MMOGs must also employ a “cost-efficient design” [10]. This highlights the need to have high-performance, cost-efficient, and adaptive development methods and tools that can enable MMOG backends to achieve a high level of QoE. Alternatively, recent studies have began exploring the potential of utilizing IoT (Internet of Things) technology to support and extend the main infrastructure. By using smaller but still capable devices, it is possible to “offload [the] processing [of] demanding […] tasks to the edges of the cloud and in close proximity to the end users” [11], thus reducing the network distance and latency, and ultimately increasing the QoE.
Naturally, the vast majority of the research and development for MMOGs in the cloud focuses on the Infrastructure-as-a-Service layer (IaaS), which is inherently more suitable in this scenario due to finer control and less overhead when compared to other layers, such as Platform-as-a-Service (PaaS) or Software-as-a-Service (SaaS). Game developers have traditionally hosted their MMOG backends on dedicated servers and private clouds, rather than public clouds. Nonetheless, recent trends show that there is a slow shift toward higher abstraction layers such as PaaS, and perhaps the use of commodity clouds [12]. One of the probable causes for this shift might be the inherent elasticity of these higher layers. Even though there have been several resources citing the use of higher layers such as Platform-as-a-Service and Backend-as-a-Service (BaaS) for MMOG backends [13][14], the hosting and development approaches used are not standardized in any way. Consequently, there has been very limited effort to develop and evaluate models and methods to facilitate the development of this type of software on such infrastructure.

2. Performance Evaluation

To evaluate the performance of MMOGs developed using Athlos, researchers use the case study games mentioned and conduct a set of experiments aimed at evaluating research questions 1 through 4. Based on the related work, researchers use the response latency of game services to player calls as the main indicator of the performance of a backend under varying loads. This metric also encompasses other factors, such as overall processor and memory usage, network connection speed, and is also the main indicator of the players’ quality of experience. In the evaluation, researchers distinguish between different forms of latency that occur during various phases of the data processing cycle. researchers define global response latency as the time taken for a request to be sent from a client, processed, and then a response to be received, which includes the obvious delay caused by network distance. Besides its usefulness in determining the feasibility of hosting MMOG backends on public clouds, this metric can significantly affect the evaluation of Athlos as a framework. While researchers still consider the global response latency as a useful metric, researchers also introduce a separate metric called processing latency, which researchers define as the time taken for a backend to process a request after receiving it and before sending a response. Using processing latency, researchers aim to evaluate the performance of the framework’s code by eliminating other types of delays occurring due to network distance, load, or data serialization/deserialization overheads on the client devices.

3. Development Effort and Code Maintainability

The second aspect of the evaluation deals with the effort needed to create MMOG backends in terms of software engineering, and the quality and maintainability of the code produced by the framework. To study the effects of using Athlos on the effort required to develop a scalable MMOG, researchers measure the Lines of Code (LOC) created in the implementation of Minesweeper. For comparison, researchers also count the LOC in a previous implementation of the game that did not utilize the framework. researchers separate the lines counted in two categories: those which were automatically generated, and those that had to be written manually (i.e., efforted) by the developer. In addition, researchers only include source code files—thus omitting any project and configuration files, Athlos definitions, or other resources. Any source code that is not related to the game’s implementation, such as the code written for simulation and testing purposes does not count towards the line count. Finally, researchers also omit source code produced by the Protocol Buffers compiler, even though this code is actively used in the game implementations. researchers argue that the omission of these files makes the comparison more fair, as Protocol Buffers is considered a separate library that could be used in an approach that does not utilize Athlos. As seen from the results in Figure 1, the total LOC in the Athlos-based version is 3628 and 2355 in the non-Athlos version. researchers attribute this difference in total LOC to the fact that Athlos implementations include a more diverse set of functionality than that required by a specific game, and especially one that is as simple as Minesweeper. However, when separating the LOC into the two aforementioned categories, researchers observe that the lines generated in the Athlos implementation greatly exceed those that were efforted. In fact, comparing just the efforted LOC between the two projects reveals that the Athlos implementation required only a third (32.6%) of the lines of code to be written by the developer compared to the non-Athlos implementation. Based on this comparison, researchers deduce that even though the absolute project size in terms of LOC may be significantly bigger when utilizing Athlos, the relative effort required to produce it may be far lower than when Athlos is not used.
Figure 1. A comparison between the LOC generated and the LOC efforted for the Athlos and non-Athlos implementations of Minesweeper.

References

  1. Morgan, L.; Conboy, K. Key factors impacting cloud computing adoption. Computer 2013, 46, 97–99.
  2. Buyya, R.; Srirama, S.N.; Casale, G.; Calheiros, R.; Simmhan, Y.; Varghese, B.; Gelenbe, E.; Javadi, B.; Vaquero, L.M.; Netto, M.A.; et al. A manifesto for future generation cloud computing: Research directions for the next decade. ACM Comput. Surv. (CSUR) 2018, 51, 1–38.
  3. Boillat, T.; Legner, C. Why do companies migrate towards cloud enterprise systems? A post-implementation perspective. In Proceedings of the 2014 IEEE 16th Conference on Business Informatics, Geneva, Switzerland, 14–17 July 2014; Volume1, pp. 102–109.
  4. Chuang, W.C.; Sang, B.; Yoo, S.; Gu, R.; Kulkarni, M.; Killian, C. Eventwave: Programming model and runtime support for tightly-coupled elastic cloud applications. In Proceedings of the 4th Annual Symposium on Cloud Computing, Santa Clara, CA, USA, 1–3 October 2013; pp. 1–16.
  5. Nae, V.; Prodan, R.; Fahringer, T. Cost-efficient hosting and load balancing of massively multiplayer online games. In Proceedings of the 2010 11th IEEE/ACM International Conference on Grid Computing, Brussels, Belgium, 25–28 October 2010; pp. 9–16.
  6. Nae, V.; Iosup, A.; Prodan, R. Dynamic resource provisioning in massively multiplayer online games. IEEE Trans. Parallel Distrib. Syst. 2010, 22, 380–395.
  7. Burger, V.; Pajo, J.F.; Sanchez, O.R.; Seufert, M.; Schwartz, C.; Wamser, F.; Davoli, F.; Tran-Gia, P. Load dynamics of a multiplayer online battle arena and simulative assessment of edge server placements. In Proceedings of the 7th International Conference on Multimedia Systems, Klagenfurt, Austria, 10–13 May 2016; pp. 1–9.
  8. Ducheneaut, N.; Yee, N.; Nickell, E.; Moore, R.J. Building an MMO With Mass Appeal: A Look at Gameplay in World of Warcraft. Games Cult. 2006, 1, 281–317.
  9. Hosseini, M. A Survey of Bandwidth and Latency Enhancement Approaches for Mobile Cloud Game Multicasting. arXiv 2017, arXiv:1707.00238.
  10. Barri, I.; Roig, C.; Giné, F. Distributing game instances in a hybrid client-server/P2P system to support MMORPG playability. Multimed. Tools Appl. 2016, 75, 2005–2029.
  11. Tsipis, A.; Komianos, V.; Oikonomou, K. A Cloud Gaming Architecture Leveraging Fog for Dynamic Load Balancing in Cluster-Based MMOs. In Proceedings of the 2019 4th South-East Europe Design Automation, Computer Engineering, Computer Networks and Social Media Conference (SEEDA-CECNSM), Piraeus, Greece, 20–22 September 2019; pp. 1–6.
  12. Kasenides, N.; Paspallis, N. A Systematic Mapping Study of MMOG Backend Architectures. Information 2019, 10, 264.
  13. Google. Firebase for games|Supercharge Your Games with Firebase. Available online: https://firebase.google.com/games. (accessed on 25 January 2022).
  14. Shabani, I.; Kovaçi, A.; Dika, A. Possibilities offered by Google App Engine for developing distributed applications using datastore. In Proceedings of the 2014 Sixth International Conference on Computational Intelligence, Communication Systems and Networks, Tetova, Macedonia, 27–29 May 2014; pp. 113–118.
More
Information
Contributor MDPI registered users' name will be linked to their SciProfiles pages. To register with us, please refer to https://encyclopedia.pub/register :
View Times: 485
Revisions: 2 times (View History)
Update Date: 25 Mar 2022
1000/1000
Video Production Service