360 likes | 398 Views
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)
E N D
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
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
State-of-art game world partitioning • Ad hoc partitions • Countries, rooms
The scalability problem Flocking • Players move to one area or hotspot • Overload the server hosting the hotspot Static partitioning is impractical!
Current solution • Admission control • Gateways • E.g., airports, doors
Our solution: Contiguous world • Seamless partition • Players can “see” across server boundaries • Players can smoothly transfer • Inter server communication • Boundary information • Player handoff
Dynamic load management • Regions • Granularity for load management • Region remapping • Migrate regions from one server to another
Locality aware load management • Keep adjacent regions on same server • Less locality, higher inter-server communication Block partition Global reshuffle
Roadmap • The algorithm • Implementation • Results
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
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
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
Load shedding Quest!
Load shedding to lightly loaded servers Added more inter-server communication!
Locality aware aggregation • Triggered by • SLA violations & load is normal • Aggregation • Merge boundary regions into neighbor partitions
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
75 70 23 60 70 92 78 68 30 68 A local load graph
Heuristic graph partitioning • Goal • Preserve locality & meet weight constraints 23 75 70 60 70 92 78 68 68 30
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
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
Algorithms used for comparison • Static partitioning • Block partitioning • Spread • Global reshuffle • Lightest • Shed load to a lightly loaded server • Locality
A LAN cluster server system Quest lasts during 0-1000 sec
A WAN distributed server system Quest lasts during 0-1000 sec
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