I NTER -S ERVER G AME S TATE S YNCHRONIZATION USING N AMED D ATA N ETWORKING Philipp Moll, S. Theuermann, Jeff Burke N. Rauscher, H. Hellwagner ACM Conference on Information-Centric Networking 2019 Moll, Theuermann, Rauscher, Hellwagner, Burke Inter-Server Game State Synchronization using Named Data Networking 1
S CALABILITY IN C URRENT O NLINE G AMES Sync Computer games are an important factor for the entertainment industry Server 1 Server 2 More than 40 billion USD revenues in the US in 2018 More than 2.6 billion people played games in 2017 Up to thousands of players in one game in current Sync Sync massively multiplayer online games Simulation of game world usually distributed to server clusters to achieve higher scalability Sync to achieve higher resilience Server 3 Server 4 Game state synchronization is responsible for building a consistent game state across the server cluster Moll, Theuermann, Rauscher, Hellwagner, Burke Inter-Server Game State Synchronization using Named Data Networking 2
NDN FOR G AME S TATE S YNCHRONIZATION Benefits of data-oriented architectures Sync Game state synchronization is a data distribution task Server 1 Server 2 Point to point communication poorly suited Efficiency increases due to network layer multicast Sync Sync Game world well-suited for named access Map regions requested by name instead of from host Separates game world from managing servers Sync Server 3 Server 4 Increases scalability and resilience Moll, Theuermann, Rauscher, Hellwagner, Burke Inter-Server Game State Synchronization using Named Data Networking 3
A REAL - WORLD P ROTOTYPE WITH M INECRAFT Moll, Theuermann, Rauscher, Hellwagner, Burke Inter-Server Game State Synchronization using Named Data Networking 4
G AME S TATE S YNCHRONIZATION 1. Take snapshots of map chunks at discrete time intervals 2. Increase the chunk’s version if its state has changed 3. Other servers request the latest version of the chunk’s state How do servers know the latest version of a chunk? 𝜐 𝜐 𝜐 Version: 2 Version: 0 Version: 2 Version: 1 [no changes] Moll, Theuermann, Rauscher, Hellwagner, Burke Inter-Server Game State Synchronization using Named Data Networking 5
N AMING THE G AME W ORLD I Server Region The game world is divided into map chunks. ... ... 1,1 Map chunks contain the full state of small parts Server 1 Server 2 of the game world. Map ... ... Chunk Each server simulates the map chunks of a certain ... ... region of the game world (server region). ... ... m,n Server 3 Server 4 Moll, Theuermann, Rauscher, Hellwagner, Burke Inter-Server Game State Synchronization using Named Data Networking 6
N AMING THE G AME W ORLD II Names are created using a ... 4,1 quadtree-based hierarchical 1,1 2,1 1,2 2,2 3,1 4,1 … 4,4 ... structure Each quadtree level 2,1 2. Level 1,1 2,1 1,2 2,2 represents a name component /prefix /1,1/2,1/4,1/ ... Keeps the number of required ... 1,1 FIB entries low 1,1 ... 1. Level Moll, Theuermann, Rauscher, Hellwagner, Burke Inter-Server Game State Synchronization using Named Data Networking 7
N AÏVE C HUNK -L EVEL U PDATE R ETRIEVAL Chunk-level game state update retrieval Send me the next version of those chunks. Issue one Interest for the next version of every world chunk managed by remote servers I ... 1,1 Usage of long-lived Interests instead of polling ... Issues D Large parts of the world change infrequently Many Interests and PIT entries tend to time out Does not scale for large worlds One Interest per world chunk Moll, Theuermann, Rauscher, Hellwagner, Burke Inter-Server Game State Synchronization using Named Data Networking 8
R EGION M ANIFEST A PPROACH Region-based update retrieval with manifest What is the current state files for each server region of the world? 1. Each server provides a manifest file I ... 1,1 containing chunk versions of its region D ... 2. Other servers request manifest and fetch Manifest: Send me Chunk everything I updates via Interest/Data exchange versions don‘t have. I D Manifest file optimized for rectangular regions Concept borrowed from existing NDN sync protocols Moll, Theuermann, Rauscher, Hellwagner, Burke Inter-Server Game State Synchronization using Named Data Networking 9
E VALUATION S ETUP Multi-server Minecraft prototype Server cluster in a local data center 1-20 emulated clients playing the game Comparison of three sync approaches Game Server Cluster Game Server Game Server Game Server Baseline IP implementation Minecraft Minecraft Minecraft Naive chunk-level update retrieval MC3P MC3P MC3P ... Region manifest approach Network Agent Network Agent Network Agent Synchronization Synchronization Synchronization MiniNDN as evaluation environment Protcol Protcol Protcol ... Players Client Gateway Proxy Moll, Theuermann, Rauscher, Hellwagner, Burke Inter-Server Game State Synchronization using Named Data Networking 10
E VALUATION R ESULTS No benefits in two server setting (due to NDN’s protocol overhead) Benefits in three and four server scenarios Multicast benefits increase in larger server clusters RMA approach performs best (three and four server setting) Number of Data packets reduced by more than 50 % (4 server scenario) compared to IP Moll, Theuermann, Rauscher, Hellwagner, Burke Inter-Server Game State Synchronization using Named Data Networking 11
C ONCLUSION AND F UTURE W ORK Use of NDN for game state synchronization NDN-based implementation beats IP in terms traffic volume Location independent naming decouples map regions from servers Future work increasing scalability of game state synchronization for huge worlds usage of NDN for client communication consideration of peer-to-peer architectures Source code available: https://github.com/phylib/ACM-ICN-19-Reproducibility Moll, Theuermann, Rauscher, Hellwagner, Burke Inter-Server Game State Synchronization using Named Data Networking 12
Recommend
More recommend