Download presentation
Presentation is loading. Please wait.
Published byAmie Garrison Modified over 9 years ago
1
Locality Aware Dynamic Load Management for Massively Multiplayer Games Written by Jin Chen 1, Baohua Wu 2, Margaret Delap 2, Bjorn Knutsson 2, Honghui Lu 2, Cristiana Amza 1 University of Toronto 1 & University of Pennsylvania 2 PPoPP ’ 05 (ACM Principles and Practice of Parallel Computing) Presented by Te-Yuan Huang
2
2/33 Players ’ Expectation of Massively Multiplayer Online Games (MMOGs) A large number of players (e.g., 100K) Update interval is crucial to players Picutre CopyRight © Jin Chen
3
3/33 State-of-Art Scalability Solutions Admission Control Implemented at gateways (ex: airport, doors) Separated mini-world Connected by airport, door … etc Server
4
4/33 The Goal of this Paper Contiguous world Seamless partition Players can “ see ” across server boundaries Players can smoothly transfer Inter server communication Boundary information Player handoff CopyRight © Jin Chen
5
5/33 How to distribute Load? Static Partition row based column based cyclic … etc Dynamic Partition Game World.....
6
6/33 The Load Balancing Problem Flocking (eg, Festivals 、 Quests..etc) Players move to one area or hotspot Overload the server hosting the hotspot Static partitioning is impractical! CopyRight © Jin Chen
7
7/33 State-of-Art Dynamic Load Management Algorithms Dynamic Uniform Load Spread – SPREAD Tries to minimize the difference between most and least loaded nodes Optimize overall load balance 12 5 9 16 Server 1 Server 2
8
8/33 State-of-Art Dynamic Load Management Algorithms Dynamic Load Shedding to Lightest Loaded Node Known - Lightest Shed load to system-wide lightest loaded node Optimize remap cost I am overloaded!QQWho is the lightest? I am Server 1 Server 2
9
9/33 Are they good enough? No! Why? Locality is ignored! Less locality, higher inter-server communication Keep adjacent regions on same server Without Locality With Locality
10
10/33 Objective of New Algorithm Balancing the server load By shed the partition across more servers Decreasing inter-server communication By take locality into account By aggregate adjacent regions
11
11/33 Graph Representation of the Game World 30 23 75 60 70 68 70 9278 Locality: Keep minimum number of connected component
12
12/33 Flow Chart of the Algorithm QoS Violation Why!? Load Shedding Load Aggregation Too many Clients Too Many Inter-Server Communications Goal: Balance load & maintain locality Goal: Correct locality disruption
13
13/33 QoS Violation Definitions SLA Violation SLA: Service Level Agreement For 90% clients Update interval > predefined value Overload Threshold (Overload_th) The Min number of clients in a server can cause SLA violation A server is overload, when its client number > overload_th Safe Load Threshold (Safety_th) The target of load shedding The MAX number of clients in a server and no SLA violation
14
14/33 SLA Violation Why!? Load Shedding Load Aggregation Clients Num > Overload_th Too Many Inter-Server Communications Goal: Balance load & maintain locality Target: Clients Number = Safety_th Goal: Correct locality disruption Flow Chart of the Algorithm
15
15/33 Load Shedding Algorithm Shed to whom? First Priority: Neighbor Second Priority: Remote Lightly-loaded Servers How to define lightly-loaded? Light_load_th = 2*Safety_th – Overload_th Light_load_th + Overload_th = 2*Safety_th Break the connected component into two
16
16/33 Load shedding Quest! CopyRight © Jin Chen
17
17/33 Load shedding under quest CopyRight © Jin Chen
18
18/33 Load shedding to neighbors CopyRight © Jin Chen
19
19/33 Load shedding to lightly loaded servers Added more inter-server communication! CopyRight © Jin Chen
20
20/33 Locality aware aggregation Triggered by SLA violations & load is normal Aggregation Merge boundary regions into neighbor partitions
21
21/33 Locality aware aggregation (1) CopyRight © Jin Chen
22
22/33 Locality aware aggregation (2) CopyRight © Jin Chen
23
23/33 Evaluation Methodology Single server experiments with Simmud A MMOG game server from UPenn Determine algorithm parameters Collect traces Simulate a large scale game
24
24/33 Experiment Result – Single Server Bandwidth Utilization 33 second for 144 players214 millisecond for 128 players
25
25/33 Experiment Result – Single Server Bandwidth Utilization Does not reach peak Clients time-out & drop The main bottleneck is server-client bandwidth
26
26/33 Experiment – Multiple Server server1 server2 server3server4 Quest! 128 players Quest set at t=65 update every 3 seconds Players at server 4 passing by Quest setup
27
27/33 Experiment Result – Multiple Server CPU Utilization BW Utilization CPU Utilization correlates with players
28
28/33 Simulation Settings Simulation Parameters Overload_th : 128 players Safety_th : 80 players Light_load_th : 32 players SLA: 2 seconds Environment 100 servers and 400 regions 6000 independent players Traces collected from SimMud
29
29/33 Simulation Settings – Cont. A LAN-based server system 100 Mbps inter-server bandwidth 100 Mbps server-players bandwidth A WAN-based server system 100 Mbps shared network bandwidth towards both its players and neighbor servers Algorithm applied Static partition Spread Lightest Locality Aware Dynamic Algo.
30
30/33 Simulation Results – LAN-based server SLA Crowds in single region
31
31/33 Simulation Results – WAN-based server
32
32/33 Simulation Results – Distributed WAN-based server (Cont.) Without Merge, it performs bad after the quest is over.
33
33/33 Simulation Results – Distributed WAN-based server (Cont.) MetricLocalityLocality w/o M LightestSpread # of Region Remap. 45342988058 # of Connected Components 104108116399
34
34/33 Conculsion Presented a load management algorithm Supports seamless game world partitioning Uses a locality aware algorithm Combined load shedding and partition merging Achieves better performance (SLA) Up to a factor of 8 compared to Static Up to a factor of 6 compared to global reshuffle My opinion Complete Work Great Simulation Complicated Algorithm
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.