Colyseus: A Distributed Architecture for Online Multiplayer Games

Slides:



Advertisements
Similar presentations
SkipNet: A Scalable Overlay Network with Practical Locality Properties Nick Harvey, Mike Jones, Stefan Saroiu, Marvin Theimer, Alec Wolman Microsoft Research.
Advertisements

Megastore: Providing Scalable, Highly Available Storage for Interactive Services. Presented by: Hanan Hamdan Supervised by: Dr. Amer Badarneh 1.
Efficient Event-based Resource Discovery Wei Yan*, Songlin Hu*, Vinod Muthusamy +, Hans-Arno Jacobsen +, Li Zha* * Chinese Academy of Sciences, Beijing.
Consistency and Replication Chapter 7 Part II Replica Management & Consistency Protocols.
WiFi-Reports: Improving Wireless Network Selection with Collaboration Presented By Tim McDowell.
Dynamo: Amazon's Highly Available Key-value Store Distributed Storage Systems CS presented by: Hussam Abu-Libdeh.
Network synchronization of Online Games Li, Zetan.
Oracle Data Guard Ensuring Disaster Recovery for Enterprise Data
1 Cheriton School of Computer Science 2 Department of Computer Science RemusDB: Transparent High Availability for Database Systems Umar Farooq Minhas 1,
On the Impact of Delay on Real-Time Multiplayer Games Authors: Lothar Pantel, Lars C. Wolf Presented by: Bryan Wong.
Small-world Overlay P2P Network
Peer-to-Peer Support for Massively Multiplayer Games Bjorn Knutsson, Honghui Lu, Wei Xu, Bryan Hopkins Presented by Mohammed Alam (Shahed)
1 Defragmenting DHT-based Distributed File Systems Jeffrey Pang, Srinivasan Seshan Carnegie Mellon University Phillip B. Gibbons, Michael Kaminsky Intel.
Scaling Distributed Machine Learning with the BASED ON THE PAPER AND PRESENTATION: SCALING DISTRIBUTED MACHINE LEARNING WITH THE PARAMETER SERVER – GOOGLE,
Database Replication techniques: a Three Parameter Classification Authors : Database Replication techniques: a Three Parameter Classification Authors :
Web Caching Schemes1 A Survey of Web Caching Schemes for the Internet Jia Wang.
Rheeve: A Plug-n-Play Peer- to-Peer Computing Platform Wang-kee Poon and Jiannong Cao Department of Computing, The Hong Kong Polytechnic University ICDCSW.
Applications over P2P Structured Overlays Antonino Virgillito.
M ERCURY : A Scalable Publish-Subscribe System for Internet Games Ashwin R. Bharambe, Sanjay Rao & Srinivasan Seshan Carnegie Mellon University.
Peer-to-Peer Based Multimedia Distribution Service Zhe Xiang, Qian Zhang, Wenwu Zhu, Zhensheng Zhang IEEE Transactions on Multimedia, Vol. 6, No. 2, April.
Carnegie Mellon University Complex queries in distributed publish- subscribe systems Ashwin R. Bharambe, Justin Weisz and Srinivasan Seshan.
Mercury: Scalable Routing for Range Queries Ashwin R. Bharambe Carnegie Mellon University With Mukesh Agrawal, Srinivasan Seshan.
Efficient Content Location Using Interest-based Locality in Peer-to-Peer Systems Presented by: Lin Wing Kai.
Overview Distributed vs. decentralized Why distributed databases
Evaluating a Defragmented DHT Filesystem Jeff Pang Phil Gibbons, Michael Kaminksy, Haifeng Yu, Sinivasan Seshan Intel Research Pittsburgh, CMU.
Freenet A Distributed Anonymous Information Storage and Retrieval System I Clarke O Sandberg I Clarke O Sandberg B WileyT W Hong.
Colyseus: A Distributed Architecture for Online Multiplayer Games Ashwin Bharambe, Jeffrey Pang, Srini Seshan Carnegie Mellon University May 7,
Wide-area cooperative storage with CFS
Definition of terms Definition of terms Explain business conditions driving distributed databases Explain business conditions driving distributed databases.
On-Demand Media Streaming Over the Internet Mohamed M. Hefeeda, Bharat K. Bhargava Presented by Sam Distributed Computing Systems, FTDCS Proceedings.
An Architecture for a Massively Multiplayer Online Role Playing Game Engine.
National Manager Database Services
1 Efficient Management of Data Center Resources for Massively Multiplayer Online Games V. Nae, A. Iosup, S. Podlipnig, R. Prodan, D. Epema, T. Fahringer,
Case Study - GFS.
Storage management and caching in PAST PRESENTED BY BASKAR RETHINASABAPATHI 1.
Distributed Data Stores – Facebook Presented by Ben Gooding University of Arkansas – April 21, 2015.
A Locality Preserving Decentralized File System Jeffrey Pang, Suman Nath, Srini Seshan Carnegie Mellon University Haifeng Yu, Phil Gibbons, Michael Kaminsky.
1 The Google File System Reporter: You-Wei Zhang.
Chapter 10 : Designing a SQL Server 2005 Solution for High Availability MCITP Administrator: Microsoft SQL Server 2005 Database Server Infrastructure Design.
Distributed Systems Tutorial 11 – Yahoo! PNUTS written by Alex Libov Based on OSCON 2011 presentation winter semester,
IMS 4212: Distributed Databases 1 Dr. Lawrence West, Management Dept., University of Central Florida Distributed Databases Business needs.
Fault Tolerance via the State Machine Replication Approach Favian Contreras.
TRACK-ALIGNED EXTENTS: MATCHING ACCESS PATTERNS TO DISK DRIVE CHARACTERISTICS J. Schindler J.-L.Griffin C. R. Lumb G. R. Ganger Carnegie Mellon University.
Peer-to-Peer Support for Massively Multiplayer Games Zone Federation of Game Servers : a Peer-to-Peer Approach to Scalable Multi-player Online Games [INFOCOM.
Overlay Network Physical LayerR : router Overlay Layer N R R R R R N.
Introduction to Networked Graphics Part 4 of 5: Bandwidth Management & Scalability.
BFTCloud: A Byzantine Fault Tolerance Framework for Voluntary-Resource Cloud Computing Yilei Zhang, Zibin Zheng, and Michael R. Lyu
Consistent and Efficient Database Replication based on Group Communication Bettina Kemme School of Computer Science McGill University, Montreal.
Introduction to dCache Zhenping (Jane) Liu ATLAS Computing Facility, Physics Department Brookhaven National Lab 09/12 – 09/13, 2005 USATLAS Tier-1 & Tier-2.
A Peer-to-Peer Approach to Resource Discovery in Grid Environments (in HPDC’02, by U of Chicago) Gisik Kwon Nov. 18, 2002.
VICTORIA UNIVERSITY OF WELLINGTON Te Whare Wananga o te Upoko o te Ika a Maui SWEN 432 Advanced Database Design and Implementation MongoDB Architecture.
Multicast instant channel change in IPTV systems 1.
1 ACTIVE FAULT TOLERANT SYSTEM for OPEN DISTRIBUTED COMPUTING (Autonomic and Trusted Computing 2006) Giray Kömürcü.
Fast Crash Recovery in RAMCloud. Motivation The role of DRAM has been increasing – Facebook used 150TB of DRAM For 200TB of disk storage However, there.
Paper Survey of DHT Distributed Hash Table. Usages Directory service  Very little amount of information, such as URI, metadata, … Storage  Data, such.
M ERCURY : A Scalable Publish-Subscribe System for Internet Games Ashwin R. Bharambe To appear in NetGames’02.
Scalable and Secure Architectures for Online Multiplayer Games Thesis Proposal Ashwin Bharambe May 15, 2006.
Simics: A Full System Simulation Platform Synopsis by Jen Miller 19 March 2004.
Chapter 7: Consistency & Replication IV - REPLICATION MANAGEMENT By Jyothsna Natarajan Instructor: Prof. Yanqing Zhang Course: Advanced Operating Systems.
Querying the Internet with PIER CS294-4 Paul Burstein 11/10/2003.
Network Topologies for Scalable Multi-User Virtual Environments Lingrui Liang.
Architecture and Algorithms for an IEEE 802
Distributed Cache Technology in Cloud Computing and its Application in the GIS Software Wang Qi Zhu Yitong Peng Cheng
Presented by Haoran Wang
Maximum Availability Architecture Enterprise Technology Centre.
Virtual World Architecture II
CHAPTER 3 Architectures for Distributed Systems
Memory Management for Scalable Web Data Servers
Distributed P2P File System
THE GOOGLE FILE SYSTEM.
Presentation transcript:

Colyseus: A Distributed Architecture for Online Multiplayer Games Ashwin Bharambe, Jeffrey Pang, and Srinivasan Seshan Carnegie Mellon University

Online First-Person Shooters Multiplayer architecture for multiplayer first-person shoot games. low latency required weakly consistent state tolerable spatial contiguity allows pre-fetching Traditionally this is done with a client-server model leads to bottlenecks can only sustain user numbers in the dozens

Colyseus Single-copy replication model maintains consistency by serializing updates mirrors existing server model cuts latency (reading from local copy), but sacrifices consistency in game-wide state DHT lookup for object queries both random and range-query DHTs implemented range-query DHT works well since object queries will always be in contiguous spatial regions DHT query delay overcome by anticipating which objects will be needed soon and pre-loading them

Replica Manager Follows Tunable Availability and Consistency Tradeoffs (TACT) model depending on specific game characteristics, developers can select either more availability or consistency - consistency lowers availability (increases lag), availability lowers conistency. synchronizes replicas to primary changes are delta-encoded, sent to primary, then distributed serially to all replicas when a node becomes interested in a replica (i.e. the player is near that object), it registers with the primary and receives updates directly (decoupled discovery/synchronization) creates new replicas deletes replicas that are no longer needed fast moving objects (missiles) use a special case attachment so that they are automatically sent to nodes that request the object they are attached to (the person who fired the missile)

Range-Queriable DHT adjacent nodes responsible for adjacent keys both standard random DHT and rangeDHT implemented with Mercury adjacent nodes responsible for adjacent keys player x,y coordinates used as key, then game can request other objects that are near the player from adjacent nodes predictions based on current player motion can be used to pre-load upcoming objects with a known average DHT lookup time, the prediction can be tweaked so that objects finish loading about when they are needed

DHT comparison

Evaluation Experimental Setup Modified Quake II to work with Colyseus Emulab used to simulate virtual servers no link capacity constraint, but ties end-to-end latency to measured samples artificially dilate time to counter slow virtual servers model game based on density statistics for a quake III map ( Zipf distribution) Modified Quake II to work with Colyseus Mercury rangeDHT variable size bounding box corresponding to visible objects for a character used as area-of-interest client/server messaging remains intact so unmodified engines could connect to any of the p2p nodes as if it were a server Custom map w/ bots for workload Emulab testbed

Results

Discussion Colyseus enables multiplayer first-person-shooter games to handle hundreds of players, instead of dozens since FPS games have very high demands for low latency and consistency, extending this architecture to other game types, like role playing games, is very feasible adaptation of commercial Quake II shows that this is feasible for other games in a production environment this method opens up many possibilities for cheating (a node could be modified to request objects that it shouldn’t ‘see’, for instance), but more work could be done to address those threats.

Related Work Real-time strategy (command & conquer) parallel simulation often used, since consistency is very important often limited to less than 10 players Online role playing (world of warcraft, second-life) cell based centralized server or server cluster Distributed Virtual Reality Environments similar goals to Colyseus, but specific not catering to common game applications

Issues why not just evaluate actual gameplay? (custom map, all bots seems a little suspect) synchronization decoupling seems to introduce a bottleneck. It’s still better than a server model since a primary replica might be the only one on a node, but the node still has to handle all traffic for that replica how are node failures (player logs off) handled? how do you handle updates on objects in a view that is already inconsistent, especially since the node cannot know if it’s view is consistent.