190 likes | 314 Views
A Grid-enabled Multi-server Network Game Architecture. Tianqi Wang, Cho-Li Wang, Francis C.M.Lau. Department of Computer Science and Information Systems The University of Hong Kong, Pokfulam Road, Hong Kong, China {tqwang, clwang, fcmlau} @csis.hku.hk. Outline. Motivation Our approach
E N D
A Grid-enabled Multi-server Network Game Architecture Tianqi Wang, Cho-Li Wang, Francis C.M.Lau Department of Computer Science and Information Systems The University of Hong Kong, Pokfulam Road, Hong Kong, China {tqwang, clwang, fcmlau} @csis.hku.hk
Outline • Motivation • Our approach • Experiments and evaluations • Conclusion
Characteristics of a Multi-player Network Game System A kind of DVE system: • Distributed users • Real time interactions • A sense of realism An ideal MNG system has intensive requirements on both the computing power and network bandwidth.
P2P Architecture P2P: each user maintains its own copy of the virtual world. • Bandwidth consumption -> IP-multicast ; • Weak peer So such systems either limit the complexity of the world or restrict the total number of users. Examples: • MiMaze • MS AOE
CMS Architecture CMS: several servers do most of the computation intensive jobs. Server: • Process command packets from the clients • Synchronized execution • Calculate the world states • Area of Interest (AOI) management Client: • Dead reckoning and rendering Advantage: complex world widely accessible Challenge: dynamic load sharing
Problems of Existing Approaches • Ring • A virtual environment system by bell lab • Static partition • Cyber-walk • A distributed web walk through system • Partition is adjustable • MS Asheron’s call • Similar approach • Problems: • Several hotspots -> cascading effect • Not cost-effective ->servers can no come and go
Grid Computing • Scientific computing area: • Resources sharing and collaborations among organizations • Dynamic service deployment, discovery and creation • Several gird projects: • TeraGrid, European data grid, DOE science grid • Support large-scale scientific experiments and analysis • Butterfly grid: • Easy to use commercial computing grid environment for developers • High-performance networked servers for the publishers
Our Approach • Propose gamelet concept: • An execution abstraction within the partitioned virtual world • High mobility for supporting dynamic load sharing • Propose a multi-server architecture based on grid technology: • Dynamic computing power aggregation • Transparent load sharing
Computation Part Control Part Gamelet Concept • Definition: • Execution abstraction • Logic partition • Structure: • Characteristics: • Load awareness • Remote control • Embedded Synchronization Gamelet { Data Component: Processing Component: } World Contents Performance Parameters Fig. Gamelet Structure
Monitor Layer LAN 1 LAN 2 Gamelet Layer Communicator Layer … … … Network Connection … … … : Worker Server : Client : Monitor : Communicator Fig. Multi-server Model Multi-server Model • Layered design: • Monitor Server • Worker Server • Communicator Server • Message route:
System Architecture Monitor SOAP SOAP Network SOAP SOAP • Based on GT3 • Core services • Base services • Gamelet services • Interface • Invocation • Migration procedure: • GSHs registry • Cooperate with communicator Gamelet Service Gamelet Service TCP Gamelet Factory Service Gamelet Factory Service GRAM Index Service GRAM Index Service Naming / Service Data /Life Cycle Management Naming / Service Data / Life Cycle Management GSI GSI Grid Service Container Grid Service Container Fig. Gamelet-based multi-server architecture.
Prototype Design and Implementation • Simulate large-scale MNG systems: • Communication protocol • World size: 100*100*20 • AOI: 10 • Client simulator • Random movement (1/100ms) • Data packets (32 B/173 B) • Performance parameters • Lost rate (up to 50%) • Response time: RT*(1-LostRate) + (RT+TI)* LostRate AOI j i Fig. AOI management Fig. Gamelet partition
Testing Environment • Gamelet & monitor : GT3.0.1 • Linux kernel 2.4.2, P3 733MHz CPU • 256M RAM, 100Mbps Ethernet • Client simulator & communicator • Win2000 professional, P4 2.2GHz CPU • 512M RAM, 100Mbps Ethernet • J2SE 1.4.2
Evaluation 1 • Scheme one (no partition) • Scheme two (3 gamelets; statically in one server) • Analysis: • CPU graph • Threshold • Network load is: 1.9Mbps (96 clients) : Scheme 1 : Scheme 2 RT (ms) CPU (%) Lost Rate (%) 400 100 100 300 75 75 200 50 50 100 25 25 0 16 32 48 64 96 0 16 32 48 64 96 0 16 32 48 64 96 Clients Number Clients Number Clients Number Fig. Performance evaluation 1.
Evaluation 2 • Scheme one (no partition) • Scheme three (dynamic + two servers at most) • Analysis: • Migration point (55) + Load balancing strategy • Migration influence • Gamelet creation time: 430ms ~ a few seconds : Scheme 1 : Scheme 3 : Server 1 of Scheme 3 : Server 2 of Scheme 3 RT (ms) Lost Rate (%) CPU (%) 400 100 100 300 75 75 200 50 50 100 25 25 0 16 N Number 32 48 64 96 128 128 128 0 16 32 48 64 96 0 16 32 48 64 96 Clients Number Clients Number Clients Number Fig. Performance evaluation 2.
Evaluation 3 • Scheme one (no partition) • Scheme three (dynamic + three servers at most) • Analysis: • Migration points • System throughput (64 ->130) • Dynamic + cost effective : Server 1 of Scheme 3 : Server 2 of Scheme 3 : Server 3 of Scheme 3 RT (ms) Lost Rate (%) CPU (%) 400 100 100 300 75 90 200 50 80 100 70 25 0 128 160 32 48 64 96 0 0 160 128 32 48 64 96 128 32 48 64 96 160 Clients Number Clients Number Clients Number Fig. Performance evaluation 3.
Client # Communicator LR. CPU RT Lost Rate Average Gamelet CPU 600 1%. 89% 97 24% 55% 800 9%. 96% 148 37% 61% 1000 32%. 100% 208 65% 95% 1200 47%. 100% 284 75% 100% 1400 57%. 100% 351 85% 100% New Data Using 16 Gamelets Analysis: • One communicator can support at most about 800-900 clients. • 16 gamelets can at most support about 1000 clients under our approach. (v.s. about 90 for one scheme one)
Summary • Propose a multi-server architecture based on a gamelet concept and grid technology. • More dynamic and cost-effective MNGs. • Prove the effectiveness by detailed experiments of a 3D multi-player game prototype. • Future works: • Study the workload pattern of large scale distributed-virtual-environment systems. • Adaptive global load balancing algorithm for gamelets migration.
Thanks and Any questions?