Download presentation
Presentation is loading. Please wait.
1
Latency Reduction by Dynamic Core Selection and Partial Migration of Game State Paul B. Beskow, Knut-Helge Vik, Pål Halvorsen, Carsten Griwodz IFI, University of Oslo, Norway ─ Simula Research Laboratory, Norway Email: {paulbb, knuthelv, paalh, griff}@ifi.uio.no
2
NetGames - October 2008 ( Slide 2 of 19) “Latency Reduction by Dynamic Core Selection and Partial Migration of Game State” Latency –Impacts perceived quality –High latency delays event processing Game State –Dynamic data –Objects, i.e, instances of Classes Dynamic Core Selection –Purpose: select an optimal server for a set of clients –Approach: heuristic algorithm Set of rules intended to increase the probability of solving some problem Migration –Mobile objects for moving state –Distributed name service for efficient reference maintenance –Data only migrated, code is shared
3
NetGames - October 2008 ( Slide 3 of 19) Massively Multi-Player Online Games (MMOGs) Large number of concurrent users –Diverse geographical locations Decomposable systems –Partitioning into virtual regions Intermittent and shifting connectivity –Activity of the user base is dynamic –Changes with time of day Immersive applications –Virtual environments –Real-time user interaction Growing user base –13 million subscribers in 2006 Broad usage –Entertainment, education, military, business
4
NetGames - October 2008 ( Slide 4 of 19) North America Europe Asia Traces from Funcom’s Anarchy Online –Single virtual region –Server located in North America –Spanning approximately one hour Topics –Latency –Dynamic Core Selection –Partial Migration Depicted scenario –Geographically distributed servers –Skewed connectivity Based on time of day Physical location is unrelated to virtual location Migrated game state –Dynamic data only Virtual regions –Marks boundary for dependencies –The assumed minimum size of partial game state to migrate
5
NetGames - October 2008 ( Slide 5 of 19) ”Latency reduction” Geographically relocate virtual regions in the physical world Minimize the mean distance for event distribution -Dynamic Core Selection -Partial migration -Distributed name service
6
NetGames - October 2008 ( Slide 6 of 19) Dynamic Core Selection Core selection background –Derived from graph theory –Used actively in multicast routing –Variations are NP-Complete problems –Selection process based on a heuristic approach Topology center Group center Approach –Search among a predefined set of servers and proxies Available server nodes Interacting players in a given region Latency of each client to each server –Find the graph median Will be the optimal core node Median is where the sum of lengths of shortest paths to all other vertices is the smallest –Dimensions Latency Many other possibilities: packet loss, bandwidth, etc. Topology center Group center
7
NetGames - October 2008 ( Slide 7 of 19) Dynamic Core Selection - Example (Group) A A B B C C D D W W Y Y V V X X ABCD V W X507540100 Y 40 100 50 75 ABCD V50357090 W80508060 X507540100 Y60 7040 ABCD V50357090 W80508060 X507540100 Y60 7040 LatencyNode 90D 80A 100D 70C LatencyNode 90D 80A 100D 70C A = Coordinator C C
8
NetGames - October 2008 ( Slide 8 of 19) Dynamic Core Selection Result Simulation –BRITE generated Waxman topology Flat and undirected Mimics Internet routing topology –1000 nodes in the network –Square network layout (100ms sides) –Dynamic group membership Nodes join and leave groups Zipf distributed group popularity Example of network topology Proxy Server
9
NetGames - October 2008 ( Slide 9 of 19) Dynamic Core Selection - Discussion K = Number of servers/proxies N = Number of players Computational complexity –Player measures latency to each server/proxy K * N iterations –Return result of highest latency to the coordinator N messages to transmit and receive –Coordinator needs to select the lowest of the highest returned results N values to loop over Core selection activators –When players join and leave –At given times of the day –At certain intervals –Historical patterns
10
NetGames - October 2008 ( Slide 10 of 19) ”Latency reduction” Geographically relocate virtual regions in the physical world Minimize the mean distance for event distribution -Dynamic Core Selection -Partial migration -Distributed name service
11
NetGames - October 2008 ( Slide 11 of 19) Concepts and design Decentralized architecture –Geographically distributed nodes Partitioning –Virtual regions Group interacting objects Migration –Objects are mobile Distributed name service –Objects managed locally Implemented as a proof of concept
12
NetGames - October 2008 ( Slide 12 of 19) Assumptions Client-Server –With multiple interacting servers/proxies –Objects are partitioned on the available servers Based on the virtual regions Interaction-model –Asynchronous Causal event-ordering per client Failure-model –Omission failures Fail-stop –No recovery Communication –Client is purged from the server –Arbitrary failures Communication –Use TCP, should not be a problem Process –No detection or recovery model implemented –Timing failures Of little concern Security-model –Not considered
13
NetGames - October 2008 ( Slide 13 of 19) Distributed name service (1/3) Name Service Register Node Access Request Name Service Register Node Name Service Node Register
14
NetGames - October 2008 ( Slide 14 of 19) Name service Home address Care-of address obj-id MMOG Object Reference To MMOG Object Name service Home address Care-of address Hostname PortLocal identifier Object IDTimestampPseudorandom number 10117759242061698791237 1337192.168.1.10 Node Local memory MMOG Object obj-id Distributed name service (2/3)
15
NetGames - October 2008 ( Slide 15 of 19) Calling object Method invocation Indirection mechanism Name serviceLocalRemote ProxyInvoke local object Object Name serviceLocalRemote Skeleton Object Network Distributed name service (3/3) Proxy Name service Home address Care-of address obj-id MMOG Object Reference To MMOG Object Node Local memory MMOG Object obj-id ProxySkeleton Serialize Arguments Deserialize Arguments Deserialize return value Serialize return value Calling object Invoked object
16
NetGames - October 2008 ( Slide 16 of 19) Migration/Distributed Name Service – Discussion Repeated references –Leases Transparency Dependencies –Minimized by grouping objects in virtual regions Execution time –Dependent on data size Invocations during migration –Shadow objects Migration activators –Only when certain levels are reached –Based on population Garbage collection Partial failures Measuring the latency
17
NetGames - October 2008 ( Slide 17 of 19) Future work Integrating dynamic core selection and the migration middleware –Currently under way Run extensive tests on PlanetLab
18
NetGames - October 2008 ( Slide 18 of 19) “Latency Reduction by Dynamic Core Selection and Partial Migration of Game State” We have… Run simulations to test dynamic core selection Implemented a proof-of-concept system for the migration of game state ”All in the name of improving latency”
19
Thank you for your time, any questions?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.