locality aware dynamic load management for massively multiplayer games
DESCRIPTION
Locality Aware Dynamic Load Management for Massively Multiplayer Games. Jin Chen, Baohua Wu, Margaret Delap, Bjorn Knutson, Honghui Lu and Cristina Amza. presented by Sagnik Nandy. Basic Idea. - PowerPoint PPT PresentationTRANSCRIPT
Locality Aware Dynamic Load Management for Massively
Multiplayer Games
Jin Chen, Baohua Wu, Margaret Delap, Bjorn Knutson, Honghui Lu and Cristina
Amzapresented bySagnik Nandy
Basic Idea
How to schedule game regions across multiple servers in a massively parallel multiplayer game environment?
Overview
Problem Description Existing Techniques Suggested Solution Experimental Results Conclusion
Overview
Problem Description Existing Techniques Suggested Solution Experimental Results Conclusion
Problem Description
How do you map various regions of a multiplayer game across different servers?
Issue 1 - Locality
1
1
Issue 1 - Locality
1
1
Issue 2 – Load balancing2
1
1
3
2
3
4
4
Problem Statement
Balance server load by replicating existing game world partitions across several servers
Decrease inter-server communication by maintaining locality of adjacent regions
Overview
Problem Description Existing Techniques Suggested Solution Experimental Results Conclusion
Existing Solutions Built-in load balancing in the game
concept (e.g. countries, airports etc.) Static Partitioning – row based,
column based, cyclic, etc. Dynamic Uniform Load Spread
(Spread) Tries to minimize the difference
between most and least loaded nodes Doesn’t consider locality
Existing Solutions (contd.)
Dynamic Load Shedding to Lightest Loaded Node (Lightest) Choose loaded server and shed load
to system-wide lightest loaded node Locality is not an objective (but can
get maintained)
Suggested Solution (Locality Aware Dynamic Load Management)
SLA violation 90% users exceed update interval
Overload threshold load (# users) for which violation
happens Safe load threshold
max load for which all users meet SLA Light load
2*safe_load – over_load
Objectives
Meet SLA (= load balancing) Happy users
Maintain locality of game regions Reduce transition time
Minimize # of region migrations Reduce inter-server communication
Overview
Problem Description Existing Techniques Suggested Solution Experimental Results Conclusion
Suggested Approach
Load shedding algorithm How to distributed load and meet SLA
requirements Load aggregation algorithm
Help restore locality Help in future load shedding
Load Shedding Algorithm If load > over_load
While load > over_load Find lightest (neighbor <
safety_load) and shed load If no neighbor exists then do this
globally across system
Shed Load
How to choose a component to shed?
Given a neighbor Sj Choose a boundary node for Sj With node as root
Find strongly connected cluster using BFS as long cluster weight within bounds
Load Aggregation Reasons
Load can be shed to remote server Load can be shed across multiple neighbors
Tries to reduce number of boundaries For each neighbor of Si
Find partition such that new_load < safe_load
Transfer cluster if boundaries reduce
Overview
Problem Description Existing Techniques Suggested Solution Experimental Results Conclusion
Experiments
First did single server and a smaller cluster based experiment
Used results to simulate more comprehensive system
Simulated for CPU and network usage
Simulated for a LAN and WAN setting
Real Experiments (single server)
Real Experiments (multiple server)
Simulation results (LAN)
Simulation results (WAN)
Conclusions The paper introduces the issue of
locality into scheduling Dynamic scheduling is better than
static scheduling Locality is more important as the
network spreads out (curious to know effect on Internet scale games)
Aggregation didn’t help much