Download presentation
Presentation is loading. Please wait.
Published byJuniper McDaniel Modified over 9 years ago
1
Locality Aware Dynamic Load Management for Massively Multiplayer Games Jin Chen, Baohua Wu, Margaret Delap, Bjorn Knutsson, Margaret Delap, Bjorn Knutsson, Honghui Lu, Cristiana Amza University of Toronto & University of Pennsylvania
2
Massively Multiplayer Online Games (MMOGs) A large number of players (e.g., 100K) SLA: Update interval to players (e.g., 1 sec) Game hosted on distributed servers
3
State-of-art game world partitioning Ad hoc partitions Countries, rooms
4
The scalability problem Flocking Players move to one area or hotspot Overload the server hosting the hotspot Static partitioning is impractical! Static partitioning is impractical!
5
Current solution Admission control Gateways E.g., airports, doors
6
Our solution: Contiguous world Seamless partition Players can “see” across server boundaries Players can smoothly transfer Inter server communication Boundary information Player handoff
7
Dynamic load management Regions Granularity for load management Region remapping Migrate regions from one server to another
8
Locality aware load management Keep adjacent regions on same server Less locality, higher inter-server communication Global reshuffle Block partition
9
Roadmap The algorithm ImplementationResults
10
Goals of a locality aware load management algorithm Balancing the server load in terms of the numbers of players Minimizing inter-server communication Goals conflict ! Desirable: Low number of region remappings Avoid thrashing
11
Our algorithm Load shedding algorithm Goal: Balance load & maintain locality Triggered by upper limit of load Locality aware aggregation algorithm Goal: Correct locality disruption Triggered by high inter-server communication in normal load
12
Load shedding algorithm Triggered by load >= upper limit Target: safe load First priority: Load shedding to neighbor servers Balance load & preserve locality If neighbors are also overloaded, load shedding to lightly loaded servers
13
Load shedding Quest!
14
Load shedding under quest
15
Load shedding to neighbors
16
Load shedding to lightly loaded servers Added more inter-server communication!
17
Locality aware aggregation Triggered by SLA violations & load is normal Aggregation Merge boundary regions into neighbor partitions
18
Locality aware aggregation (1)
19
Locality aware aggregation (2)
20
Graph model Local load graph for each server The partition of game map on a server A vertex a region Vertex weight load An edge adjacent relationship of two regions
21
A game map hosted by a server
22
30 23 75 60 70 68 70 9278 A local load graph
23
Heuristic graph partitioning Goal Preserve locality & meet weight constraints 2375 60 70 68 30 68709278
24
Locality metric: Number of connected components
26
Experiment methodology Single server experiments with Simmud A MMOG game server from UPenn Bottleneck is bandwidth Determine algorithm parameters Collect traces Simulate a large scale game
27
Simulation setting 100 servers and 400 regions 6000 independent players Traces collected from SimMud A LAN cluster server system 100 Mbps inter-server bandwidth 100 Mbps server-players bandwidth A WAN distributed server system 100 Mbps shared network bandwidth towards both its players and neighbor servers SLA: 2 seconds
28
Algorithms used for comparison Static partitioning Block partitioning Spread Global reshuffle Lightest Shed load to a lightly loaded server Locality
29
A LAN cluster server system Quest lasts during 0-1000 sec
30
A WAN distributed server system Quest lasts during 0-1000 sec
31
A WAN distributed server system MetricLocalityLightestSpread # of Region Remap. 452988058 # of Connected Components 104116399
32
Conclusion Presented a load management algorithm Supports seamless game world partitioning Uses a locality aware algorithm Achieves better performance (SLA) Up to a factor of 8 compared to Static Up to a factor of 6 compared to global reshuffle
33
Thanks!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.