Exploiting Player Behavior in Distributed Architectures for Online Games Sergey Legtchenko
Total Page:16
File Type:pdf, Size:1020Kb
Exploiting player behavior in distributed architectures for online games Sergey Legtchenko To cite this version: Sergey Legtchenko. Exploiting player behavior in distributed architectures for online games. Net- working and Internet Architecture [cs.NI]. Université Pierre et Marie Curie - Paris VI, 2012. English. tel-00931865 HAL Id: tel-00931865 https://tel.archives-ouvertes.fr/tel-00931865 Submitted on 16 Jan 2014 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. THÈSE DE DOCTORAT DE l’UNIVERSITÉ PIERRE ET MARIE CURIE Spécialité Informatique École doctorale Informatique, Télécommunications et Électronique (Paris) Sergey LEGTCHENKO Pour obtenir le grade de DOCTEUR de l’UNIVERSITÉ PIERRE ET MARIE CURIE Sujet de la thèse : Adaptation dynamique des architectures réparties pour jeux massivement multijoueurs soutenue le 25 octobre 2012 M. Pierre SENS Directeur de thèse M. Sébastien MONNET Encadrant de thèse Mme. Anne-Marie KERMARREC Rapporteur M. Pascal FELBER Rapporteur M. Ernst BIERSACK Examinateur M. Antony ROWSTRON Examinateur Mme. Anne DOUCET Examinateur ii Acknowledgements The three years of my thesis have been incredibly rich in estimable experience brought me by valuable people. I would like to thank those who spent some of their time and effort to help me. In the first place, I am grateful to my advisors, Sebastien Monnet and Pierre Sens who managed to canalize my raw enthusiasm into well-organized and consistent research. Our numerous and passionate discussions made me realize that the best solutions arise as a result of an exchange of opinions. I would also like to thank my thesis jury, especially Anne-Marie Kermarrec and Pascal Felber for devoting some of their precious time to evaluate my ability to do research. Working in the Regal group made me meet many interesting and friendly people. I would particularily like to thank Gael Thomas for teaching me the very important art of organizing ideas and comprehensively relate them. I am grateful to Gilles Mul- ler and Marc Shapiro for their good advices and recommendations that helped me to improve my research. They also encouraged me to apply for an internship, which re- sulted in a highly valuable experience, showing me the non-academic side of research. I would like to thank Ant Rowstron, my internship advisor, for teaching me some of his rigorous, pragmatic methodology and for his trust. My Ph.D. experience would not have been the same without the friendly support of many people which presence created a pleasant and creative working environment. For that, thanks to Thomas Preud’homme, Julien Sopena, Florian David, Lokesh Gidra and many others. I would like to thank my family, who encouraged me to start a Ph.D. and has suppor- ted that decision ever since. Last, but not least, thank you to Elodie for bringing me the happiness I needed to achieve my work. I am deeply grateful to all these people who participated, each in their own way, to something that is not necessarily a big step for Research, but is definitely a giant leap for me. v Table des matières Part I – Thesis 1 1 Introduction 3 1.1 Problem Statement . 4 1.2 Research proposal and contributions . 5 1.3 Outline of the thesis . 7 2 Background 11 2.1 Peer-to-peer architectures . 12 2.1.1 Motivation and challenges . 12 2.1.2 State-of-the-art overlays . 13 2.1.3 Services on top of peer-to-peer topologies . 17 2.1.4 Leveraging topological properties to improve overlay performance . 17 2.2 Distributed data management . 19 2.2.1 Data integrity . 20 2.2.2 Data placement . 21 2.3 Conclusion . 22 3 State of the art 23 3.1 Analysis of MMOG workloads . 23 3.1.1 Workload taxonomy . 23 3.1.2 Impact of player behavior on the workload . 25 3.1.3 On the predictability of player behavior . 28 3.2 Architectures for MMOGs . 29 3.2.1 Server-based MMOGs . 29 3.2.2 Peer-to-peer MMOGs . 33 3.2.3 Hybrid architectures . 37 3.2.4 Summary . 38 3.3 Leveraging behavioral trends . 40 3.3.1 Interest management . 40 3.3.2 Dynamic load balancing . 42 3.3.3 Movement prediction . 42 3.4 Conclusion . 43 4 Workload generator 45 vi Table des matières 4.1 Introduction . 45 4.2 Mobility model . 46 4.2.1 Generation of the initial map . 47 4.2.2 Movement generation . 47 4.3 Evaluation of generated traces . 48 4.4 Discussion . 52 5 Avatar-mobility resilient content dissemination in p2p MMOGs 53 5.1 Introduction . 53 5.1.1 Problem statement . 53 5.1.2 Contribution . 54 5.2 Design overview . 55 5.2.1 The state machine . 55 5.2.2 Movement anticipation . 55 5.3 Implementation of Blue Banana on top of Solipsis . 56 5.3.1 Details of the Solipsis protocol . 56 5.3.2 Implementation of the anticipation mechanism . 57 5.4 Evaluation . 59 5.4.1 Description of the simulations . 59 5.4.2 Evaluation metrics . 60 5.4.3 Result analysis . 61 5.5 Conclusion . 64 6 Efficient routing in p2p MMOGs with non-uniform avatar distributions 65 6.1 Introduction . 66 6.2 Theoretical background . 67 6.3 Building a global keyspace density map . 68 6.3.1 Overview . 68 6.3.2 Adding new information to local map . 69 6.3.3 Exchanging information between peers . 70 6.4 Drawing density-aware shortcuts . 72 6.4.1 Graph distance estimation . 72 6.4.2 The rewiring process . 73 6.5 Evaluation . 76 6.5.1 Evaluation environment . 76 6.5.2 The rewiring process evaluation . 77 6.5.3 Global map propagation evaluation . 82 6.6 Conclusion . 83 7 Scaling out virtual battlegrounds with in-memory databases 85 7.1 Introduction . 86 7.1.1 Problem Statement . 86 7.1.2 Contribution . 86 7.2 Scalability analysis of classic FPS architectures . 88 7.2.1 FPS architecture overview . 88 7.2.2 Evaluation Methodology . 89 7.2.3 Results . 91 Table des matières vii 7.3 Architecture . 92 7.3.1 Overview . 93 7.3.2 Distributed frame computation . 95 7.3.3 NVE partitioning . 96 7.3.4 Propagation of information . 98 7.4 Implementation: from Quake III to QuakeVolt . 99 7.4.1 Adapting Quake III source code . 99 7.4.2 Snapshot mirror source code . 99 7.4.3 Linking with VoltDB . 100 7.5 Performance issues . 100 7.6 Conclusion . 101 8 Conclusions 103 8.1 Synthesis . 103 8.2 Future work . 104 8.3 General perspectives . 106 Part II – Appendix I: Relax DHT 109 9 Churn resilient strategy for distributed hash tables 111 9.1 Introduction . 111 9.2 Background and motivation . 112 9.2.1 Replication in DHTs . 113 9.2.2 Impact of the churn on the DHT performance . 115 9.3 Relaxing the DHT’s placement constraints to tolerate churn . 115 9.3.1 Overview of RelaxDHT . 115 9.3.2 Side effects and limitations . 119 9.4 Evaluation . ..