1 / 33

Locality Aware Dynamic Load Management for Massively Multiplayer Games

Locality Aware Dynamic Load Management for Massively Multiplayer Games. Jin Chen, Baohua Wu, Margaret Delap, Bjorn Knutsson, Honghui Lu, Cristiana Amza. University of Toronto & University of Pennsylvania. Massively Multiplayer Online Games (MMOGs). A large number of players (e.g., 100K)

emanuelp
Download Presentation

Locality Aware Dynamic Load Management for Massively Multiplayer Games

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Locality Aware Dynamic Load Management for MassivelyMultiplayer Games Jin Chen, Baohua Wu, Margaret Delap, Bjorn Knutsson, Honghui Lu, Cristiana Amza University of Toronto & University of Pennsylvania

  2. Massively Multiplayer Online Games (MMOGs) • A large number of players (e.g., 100K) • SLA: Update interval to players (e.g., 1 sec) • Game hosted on distributed servers

  3. State-of-art game world partitioning • Ad hoc partitions • Countries, rooms

  4. The scalability problem Flocking • Players move to one area or hotspot • Overload the server hosting the hotspot Static partitioning is impractical!

  5. Current solution • Admission control • Gateways • E.g., airports, doors

  6. Our solution: Contiguous world • Seamless partition • Players can “see” across server boundaries • Players can smoothly transfer • Inter server communication • Boundary information • Player handoff

  7. Dynamic load management • Regions • Granularity for load management • Region remapping • Migrate regions from one server to another

  8. Locality aware load management • Keep adjacent regions on same server • Less locality, higher inter-server communication Block partition Global reshuffle

  9. Roadmap • The algorithm • Implementation • Results

  10. Goals of a locality aware load management algorithm • Balancing the server load in terms of the numbers of players • Minimizing inter-server communication Goals conflict ! • Desirable: • Low number of region remappings • Avoid thrashing

  11. Our algorithm • Load shedding algorithm • Goal: Balance load & maintain locality • Triggered by upper limit of load • Locality aware aggregation algorithm • Goal: Correctlocality disruption • Triggered by high inter-server communication in normal load

  12. Load shedding algorithm • Triggered by load >= upper limit • Target: safe load • First priority: Load shedding to neighbor servers • Balance load & preserve locality • If neighbors are also overloaded, load shedding to lightly loaded servers

  13. Load shedding Quest!

  14. Load shedding under quest

  15. Load shedding to neighbors

  16. Load shedding to lightly loaded servers Added more inter-server communication!

  17. Locality aware aggregation • Triggered by • SLA violations & load is normal • Aggregation • Merge boundary regions into neighbor partitions

  18. Locality aware aggregation (1)

  19. Locality aware aggregation (2)

  20. Graph model • Local load graph for each server • The partition of game map on a server • A vertex  a region • Vertex weight  load • An edge  adjacent relationship of two regions

  21. A game map hosted by a server

  22. 75 70 23 60 70 92 78 68 30 68 A local load graph

  23. Heuristic graph partitioning • Goal • Preserve locality & meet weight constraints 23 75 70 60 70 92 78 68 68 30

  24. Locality metric: Number of connected components

  25. Locality metric: Number of connected components

  26. Experiment methodology • Single server experiments with Simmud • A MMOG game server from UPenn • Bottleneck is bandwidth • Determine algorithm parameters • Collect traces • Simulate a large scale game

  27. Simulation setting • 100 servers and 400 regions • 6000 independent players • Traces collected from SimMud • A LAN cluster server system • 100 Mbps inter-server bandwidth • 100 Mbps server-players bandwidth • A WAN distributed server system • 100 Mbps shared network bandwidth towards both its players and neighbor servers • SLA: 2 seconds

  28. Algorithms used for comparison • Static partitioning • Block partitioning • Spread • Global reshuffle • Lightest • Shed load to a lightly loaded server • Locality

  29. A LAN cluster server system Quest lasts during 0-1000 sec

  30. A WAN distributed server system Quest lasts during 0-1000 sec

  31. A WAN distributed server system

  32. Conclusion • Presented a load management algorithm • Supports seamless game world partitioning • Uses a locality aware algorithm • Achieves better performance (SLA) • Up to a factor of 8 compared to Static • Up to a factor of 6 compared to global reshuffle

  33. Thanks!

More Related