locality aware dynamic load management for massively multiplayer games jin chen, baohua wu, margaret...

Post on 18-Dec-2015

216 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related