300 likes | 495 Views
Basic Idea. How to schedule game regions across multiple servers in a massively parallel multiplayer game environment?. Overview. Problem DescriptionExisting TechniquesSuggested SolutionExperimental ResultsConclusion. Overview. Problem DescriptionExisting TechniquesSuggested SolutionExperimen
E N D
1. Locality Aware Dynamic Load Management for Massively Multiplayer Games Jin Chen, Baohua Wu, Margaret Delap,
Bjorn Knutson, Honghui Lu and Cristina Amza
2. Basic Idea How to schedule game regions across multiple servers in a massively parallel multiplayer game environment?
3. Overview Problem Description
Existing Techniques
Suggested Solution
Experimental Results
Conclusion
4. Overview Problem Description
Existing Techniques
Suggested Solution
Experimental Results
Conclusion
5. Problem Description How do you map various regions of a multiplayer game across different servers?
6. Issue 1 - Locality
7. Issue 1 - Locality
8. Issue 2 – Load balancing
9. Problem Statement Balance server load by replicating existing game world partitions across several servers
Decrease inter-server communication by maintaining locality of adjacent regions
10. Overview Problem Description
Existing Techniques
Suggested Solution
Experimental Results
Conclusion
11. 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
12. 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)
13. 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
14. Objectives Meet SLA (= load balancing)
Happy users
Maintain locality of game regions
Reduce transition time
Minimize # of region migrations
Reduce inter-server communication
15. Overview Problem Description
Existing Techniques
Suggested Solution
Experimental Results
Conclusion
16. Suggested Approach Load shedding algorithm
How to distributed load and meet SLA requirements
Load aggregation algorithm
Help restore locality
Help in future load shedding
17. 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
18. 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
19. 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
20. Overview Problem Description
Existing Techniques
Suggested Solution
Experimental Results
Conclusion
21. 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
22. Real Experiments (single server)
23. Real Experiments (multiple server)
24. Simulation results (LAN)
25. Simulation results (WAN)
26. 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