PPT - UCSD CSE

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

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 balancing
1
2
3
4
1
4
2
3
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


Overload threshold


load (# users) for which violation happens
Safe load threshold


90% users exceed update interval
max load for which all users meet SLA
Light load

2*safe_load – over_load
Objectives

Meet SLA (= load balancing)


Maintain locality of game regions


Happy users
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