Locality Aware Dynamic Load Management for Massively Multiplayer Games
270 likes | 386 Vues
This paper addresses the challenge of scheduling game regions across multiple servers in a massively parallel multiplayer game environment. It discusses the locality and load balancing issues, evaluates existing techniques, and proposes a new solution: Locality Aware Dynamic Load Management. This approach aims to balance server load while preserving region locality, thereby reducing inter-server communication and enhancing user satisfaction. Experimental results indicate that dynamic scheduling is superior to static methods in maintaining performance and user experience.
Locality Aware Dynamic Load Management for Massively Multiplayer Games
E N D
Presentation Transcript
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 2 – Load balancing 2 1 3 4 1 2 4 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 • 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
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