© 2005 Erlang Training and Consulting Ltd Massively Multiplayer Online Game Servers Analysing the needs of an Erlang/OTP Virtual World Distributed Server.

Slides:



Advertisements
Similar presentations
--- IT Acumens. COMIT Acumens. COM SNMP Project. AIM The aim of our project is to monitor and manage the performance of a network. The aim of our project.
Advertisements

Cultural Heritage in REGional NETworks REGNET Project Meeting Content Group
Barcelona Supercomputing Center. The BSC-CNS objectives: R&D in Computer Sciences, Life Sciences and Earth Sciences. Supercomputing support to external.
Copyright Hub Software Engineering Ltd 2010All rights reserved Hub Document Manager Product Overview.
ACM Uppsala Mike Williams Ericsson AB1 Why did we create Erlang? Mike Williams Ericsson AB Stockholm Sweden
Benchmarking traversal operations over graph databases Marek Ciglan 1, Alex Averbuch 2 and Ladialav Hluchý 1 1 Institute of Informatics, Slovak Academy.
SLA-Oriented Resource Provisioning for Cloud Computing
Universe, By Morten Zohnesen & Per Lohmann Poulsen A dynamic multi-server architecture for massively multiplayer games.
CM-5 Massively Parallel Supercomputer ALAN MOSER Thinking Machines Corporation 1993.
Towards Autonomic Adaptive Scaling of General Purpose Virtual Worlds Deploying a large-scale OpenSim grid using OpenStack cloud infrastructure and Chef.
Online Educational Game of Snakes and Ladders -Shalini Pradhan -Manali Joshi -Uttara Paingankar -Seema Joshi.
Chapter 9 Designing Systems for Diverse Environments.
Business Continuity and DR, A Practical Implementation Mich Talebzadeh, Consultant, Deutsche Bank
Web Caching Schemes1 A Survey of Web Caching Schemes for the Internet Jia Wang.
Distributed Systems and the WWW Extending the Capability of Massively Multiplayer Online Games by Introducing Distributed Systems as World Servers Jason.
Scaling Service Requests Linux: ipvsadm & iptoip.
.NET Mobile Application Development Introduction to Mobile and Distributed Applications.
An Architecture for a Massively Multiplayer Online Role Playing Game Engine.
DATABASE MANAGEMENT SYSTEMS 2 ANGELITO I. CUNANAN JR.
Locality-Aware Request Distribution in Cluster-based Network Servers Presented by: Kevin Boos Authors: Vivek S. Pai, Mohit Aron, et al. Rice University.
Load Test Planning Especially with HP LoadRunner >>>>>>>>>>>>>>>>>>>>>>
Client/Server Architectures
© eWave Interactive - Multiplayer Mobile Games - Business Models for a new Mainstream Market in Gaming Hendrik H. Heimer - CEO / Founder - IDATE Video.
Virtualization Concept. Virtualization  Real: it exists, you can see it.  Transparent: it exists, you cannot see it  Virtual: it does not exist, you.
Abstract Load balancing in the cloud computing environment has an important impact on the performance. Good load balancing makes cloud computing more.
Performance Testing Case Study
Windows 2000 Advanced Server and Clustering Prepared by: Tetsu Nagayama Russ Smith Dale Pena.
Scaling to New Heights Retrospective IEEE/ACM SC2002 Conference Baltimore, MD.
Improving Network I/O Virtualization for Cloud Computing.
Peer-to-Peer AOI Voice Chatting for Massively Multiplayer Online Games (P2P-NVE 2007 workshop) Jehn-Ruey Jiang and Hung-Shiang Chen Adaptive Computing.
Unit – I CLIENT / SERVER ARCHITECTURE. Unit Structure  Evolution of Client/Server Architecture  Client/Server Model  Characteristics of Client/Server.
Heavy and lightweight dynamic network services: challenges and experiments for designing intelligent solutions in evolvable next generation networks Laurent.
Content Sharing over Smartphone-Based Delay- Tolerant Networks.
Peer-to-Peer AOI Voice Chatting for Massively Multiplayer Online Games (P2P-NVE 2007 workshop) Jehn-Ruey Jiang and Hung-Shiang Chen Presenter: Shun-Yun.
Control in ATLAS TDAQ Dietrich Liko on behalf of the ATLAS TDAQ Group.
OS2- Sem ; R. Jalili Introduction Chapter 1.
Investigating the Performance of Audio/Video Service Architecture II: Broker Network Ahmet Uyar & Geoffrey Fox Tuesday, May 17th, 2005 The 2005 International.
Distributed Computing CSC 345 – Operating Systems By - Fure Unukpo 1 Saturday, April 26, 2014.
Darkstar. Darkstar is a Sun research project on massively parallel online games The objective (not yet demonstrated!) is to supply a framework for massively.
1 MMORPG Servers. 2 MMORPGs Features Avatar Avatar Levels Levels RPG Elements RPG Elements Mission Mission Chatting Chatting Society & Community Society.
11 CLUSTERING AND AVAILABILITY Chapter 11. Chapter 11: CLUSTERING AND AVAILABILITY2 OVERVIEW  Describe the clustering capabilities of Microsoft Windows.
Large-scale Virtualization in the Emulab Network Testbed Mike Hibler, Robert Ricci, Leigh Stoller Jonathon Duerig Shashi Guruprasad, Tim Stack, Kirk Webb,
Network design Topic 6 Testing and documentation.
Copyright 2007, Information Builders. Slide 1 Machine Sizing and Scalability Mark Nesson, Vashti Ragoonath June 2008.
Distributed Computing Systems CSCI 6900/4900. Review Distributed system –A collection of independent computers that appears to its users as a single coherent.
CHAPTER 7 CLUSTERING SERVERS. CLUSTERING TYPES There are 2 types of clustering ; Server clusters Network Load Balancing (NLB) The difference between the.
Distributed Computing Systems CSCI 4780/6780. Scalability ConceptExample Centralized servicesA single server for all users Centralized dataA single on-line.
Data Communications and Networks Chapter 9 – Distributed Systems ICT-BVF8.1- Data Communications and Network Trainer: Dr. Abbes Sebihi.
COMP381 by M. Hamdi 1 Clusters: Networks of WS/PC.
HELGA - A Call Load Generator Bagirath Krishnamachari Lucent Technologies, Bangalore, India Eighth International Erlang/OTP User Conference November 19,
Massively Multiplayer Persistent Worlds: Entertainment or Training? Robert Gehorsam Vice President, Strategic Initiatives There Inc. 9/4/2003.
1 Parallel Applications Computer Architecture Ning Hu, Stefan Niculescu & Vahe Poladian November 22, 2002.
Evaluating the Cloud Architecture of AToMP JONATHAN CORLEY, EUGENE SYRIANI, HUSEYIN ERGIN.
Some Design Idea of Red5 Clustering Scalable –Server’s capacity is enlarged when more hardwares are added Failover –Client will not notice the server node.
Protocol Extraction for Blackbox-based Online Game Testing Yeonjun Choi 1,2, Seongil Jin 2, ' ETRI, 2 Chungnam National University Daej eon, Korea
Primitive Concepts of Distributed Systems Chapter 1.
Studies of LHCb Trigger Readout Network Design Karol Hennessy University College Dublin Karol Hennessy University College Dublin.
Chapter 16 Client/Server Computing Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William.
Cofax Scalability Document Version Scaling Cofax in General The scalability of Cofax is directly related to the system software, hardware and network.
Lecture 17 Page 1 CS 188,Winter 2015 A Design Problem in Distributed Systems CS 188 Distributed Systems March 10, 2015.
ABSTRACT   Recent work has shown that sink mobility along a constrained path can improve the energy efficiency in wireless sensor networks. Due to the.
GlassFish in the Real World
Puzzle Pirates Case Study
Advanced Operating Systems
A Case for Mutual Notification
Erlang in Banking & Financial Switching
Screenshot: PowerMad in Action
Distributed computing deals with hardware
Performance And Scalability In Oracle9i And SQL Server 2000
Calypso Service Architecture
Presentation transcript:

© 2005 Erlang Training and Consulting Ltd Massively Multiplayer Online Game Servers Analysing the needs of an Erlang/OTP Virtual World Distributed Server Erlang User Conference, Stockholm, Sweden November 10, 2005 Michał Ślaski

Page 2 © 2005 Erlang Training and Consulting Ltd Contents Massively Multiplayer Online Game MarketMassively Multiplayer Online Game Market ChallengesChallenges PrototypingPrototyping –Using Erlang/OTP –Client and Server Applications Benchmarking and Stress TestingBenchmarking and Stress Testing Software and Hardware ArchitectureSoftware and Hardware Architecture –Network and Server Nodes Synchronisation of the Game StateSynchronisation of the Game State ConclusionsConclusions

Page 3 © 2005 Erlang Training and Consulting Ltd Massively Multiplayer Online Game Market Significant increase of active subscribersSignificant increase of active subscribers Very fast growing marketVery fast growing market Source: IGDA, "2004 Persistent Worlds White Paper"Source: MMOGCHART.COM

Page 4 © 2005 Erlang Training and Consulting Ltd Challenges Large quantities of data to process in real timeLarge quantities of data to process in real time Frequent synchronisation between clientsFrequent synchronisation between clients –Acceptable delays of ms Adaptation to the Client – Server connectivityAdaptation to the Client – Server connectivity –Server response times –Network latency Stress testing in the early development stagesStress testing in the early development stages –Limited opportunities for load testing with real players

Page 5 © 2005 Erlang Training and Consulting Ltd Experimenting with functional and technical aspectsExperimenting with functional and technical aspects Determining the scalability of the architectureDetermining the scalability of the architecture Testing new solutionsTesting new solutions Prototyping Make mistakes on a small scale, not in a production project. Mike Williams Make mistakes on a small scale, not in a production project. Mike Williams It’s not good enough to have ideas - you must also be able to implement them to know that they work Mike Williams It’s not good enough to have ideas - you must also be able to implement them to know that they work Mike Williams

Page 6 © 2005 Erlang Training and Consulting Ltd Prototyping : Using Erlang/OTP Open Source, excellent librariesOpen Source, excellent libraries –Mnesia –IDX-Tsunami OS and hardware independentOS and hardware independent Concurrency oriented programmingConcurrency oriented programming –one process for every connected player Efficient internal communicationEfficient internal communication Support for distributed applicationsSupport for distributed applications

Page 7 © 2005 Erlang Training and Consulting Ltd Prototyping : Client Application Java + Java3DJava + Java3D ActionsActions –moving –collecting objects –magic –chatting Player states kept on the serverPlayer states kept on the server

Page 8 © 2005 Erlang Training and Consulting Ltd Prototyping : Server Application The game terrain is divided into zonesThe game terrain is divided into zones Players placed within the same zone are processed on the same nodePlayers placed within the same zone are processed on the same node Server distributed on a cluster of machinesServer distributed on a cluster of machines

Page 9 © 2005 Erlang Training and Consulting Ltd Benchmarking and Stress Testing The server was overloaded in the 60th second of the test Increase the number of players to overload the server Each player runs a transaction every two seconds Tests on a 600MHz Celeron processor with 128 MB of RAM

Page 10 © 2005 Erlang Training and Consulting Ltd Software and Hardware Architecture Every machine is running network traffic and user actions

Page 11 © 2005 Erlang Training and Consulting Ltd Software and Hardware Architecture Separate machines running network traffic & user actions

Page 12 © 2005 Erlang Training and Consulting Ltd Synchronisation of the Game State Players see inconsistent states in relation to the server

Page 13 © 2005 Erlang Training and Consulting Ltd Synchronisation of the Game State When the Server is not overloaded almost all actions are successfulWhen the Server is not overloaded almost all actions are successful –Players see less inconsistencies in relation to the server

Page 14 © 2005 Erlang Training and Consulting Ltd Synchronisation of the Game State When the Server is overloaded more actions failWhen the Server is overloaded more actions fail –Players see inconsistent states in relation to the server

Page 15 © 2005 Erlang Training and Consulting Ltd Conclusions Erlang/OTP is excellent for MMOG systemsErlang/OTP is excellent for MMOG systems –Distribution –Libraries –Powerful open source tools Rapid development of the prototype allowsRapid development of the prototype allows –Evaluation of different algorithms –Evaluation of hardware configurations –All in a relatively short period of time Future workFuture work –Algorithms not dependent on the player’s position –Refactor and fine-tune Mnesia and distribution algorithms –Bring to market in the real world

Page 16 © 2005 Erlang Training and Consulting Ltd Questions ?

Page 17 © 2005 Erlang Training and Consulting Ltd Contents Massively Multiplayer Online Game MarketMassively Multiplayer Online Game Market ChallengesChallenges PrototypingPrototyping –Using Erlang/OTP –Client and Server Applications Benchmarking and Stress TestingBenchmarking and Stress Testing Software and Hardware ArchitectureSoftware and Hardware Architecture –Network and Server Nodes Synchronisation of the Game StateSynchronisation of the Game State ConclusionsConclusions