180 likes | 323 Views
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.
E N D
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
“Latency Reduction by Dynamic Core Selection and Partial Migration of Game State” • Latency • Impactsperceivedquality • Highlatencydelayseventprocessing • Game State • Dynamic data • Objects, i.e, instances of Classes • DynamicCoreSelection • Purpose: select an optimal server for a setofclients • Approach: heuristicalgorithm • Set of rules intended to increase the probability of solving some problem • Migration • Mobile objects for movingstate • Distributedname service for efficientreferencemaintenance • Data onlymigrated, code is shared
MassivelyMulti-Player Online Games (MMOGs) • Immersiveapplications • Virtual environments • Real-time user interaction • Growing user base • 13 million subscribers in 2006 • Broad usage • Entertainment, education, military, business • 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
North America Asia • Traces from Funcom’sAnarchy 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 sizeofpartial game state to migrate Europe
”Latencyreduction” Geographicallyrelocatevirtual regions in thephysicalworld Minimizethemeandistance for eventdistribution • DynamicCoreSelection • Partialmigration • Distributedname service
DynamicCoreSelection • Coreselectionbackground • Derived from graphtheory • Used actively in multicastrouting • VariationsareNP-Complete problems • Selectionprocessbasedon a heuristicapproach • Topologycenter • Group center • Approach • Searchamong a predefinedsetof servers and proxies • Available server nodes • Interactingplayers in a given region • Latencyofeachclient to each server • Findthegraph median • Will be the optimal core node • Median is wherethe sum oflengthsofshortestpaths to all othervertices is the smallest • Dimensions • Latency • Manyotherpossibilities: packet loss, bandwidth, etc. Topologycenter Group center
DynamicCoreSelection - Example (Group) B A = Coordinator 75 50 A W V X Y 40 100 D C C
DynamicCoreSelectionResult • Simulation • BRITE generatedWaxmantopology • Flat and undirected • Mimics Internet routingtopology • 1000 nodes in thenetwork • Square network layout (100ms sides) • Dynamicgroupmembership • Nodes join and leavegroups • Zipfdistributedgrouppopularity Server Proxy Exampleofnetworktopology
DynamicCoreSelection - Discussion K = Numberofservers/proxies N = Numberofplayers • Computationalcomplexity • Player measureslatency to eachserver/proxy • K * N iterations • Returnresultofhighestlatency to thecoordinator • N messages to transmit and receive • Coordinatorneeds to selectthelowestofthehighestreturnedresults • N values to loop over • Coreselectionactivators • Whenplayersjoin and leave • At given times oftheday • At certainintervals • Historicalpatterns
”Latencyreduction” Geographicallyrelocatevirtual regions in thephysicalworld Minimizethemeandistance for eventdistribution • DynamicCoreSelection • Partialmigration • Distributedname service
Concepts and design • Decentralizedarchitecture • Geographicallydistributed nodes • Partitioning • Virtual regions • Group interactingobjects • Migration • Objects are mobile • Distributed name service • Objects managed locally • Implemented as a proofofconcept
Distributedname service (1/3) Register Register Name Service Node Node Node Name Service Name Service Access Request Register Register
Distributedname service (2/3) Hostname Port Localidentifier 192.168.1.10 1337 Object ID Timestamp Pseudorandomnumber 10 1177592420 61698791237 Node Node Name service Nameservice Home address Care-of address Home address Care-of address MMOG Object obj-id obj-id obj-id Reference To MMOG Object obj-id MMOG Object Localmemory Localmemory
Distributedname service (3/3) Calling object Methodinvocation Indirection mechanism Node Name service Remote Name service Local Proxy Invokelocalobject Home address Care-of address MMOG Object Object obj-id Network Reference To MMOG Object Remote Name service Local obj-id obj-id Proxy Skeleton MMOG Object Object Calling object Invoked object Localmemory Proxy Serialize Arguments Deserialize Arguments Skeleton Deserialize returnvalue Serialize returnvalue
Migration/DistributedName Service – Discussion • Repeatedreferences • Leases • Transparency • Dependencies • Minimized by groupingobjects in virtual regions • Execution time • Dependent on data size • Invocations during migration • Shadowobjects • Migration activators • Onlywhencertainlevelsarereached • Basedonpopulation • Garbagecollection • Partialfailures • Measuringthelatency
Futurework • Integratingdynamiccoreselection and themigrationmiddleware • Currently under way • Run extensive tests onPlanetLab
We have… Run simulations to test dynamiccoreselection Implemented a proof-of-conceptsystem for themigrationof game state ”All in thenameofimprovinglatency” “Latency Reduction by Dynamic Core Selection and Partial Migration of Game State”