1. Hazel McKendrick
Supervised by Henry Fortuna
Distributing
Virtual Worlds
“How can the processing of autonomous characters
in a real-time virtual environment benefit from
parallelisation over multiple distributed computer
systems?”
2. Project Overview.
Processing virtual worlds
Single server unsuitable
Flexibility, scalability, redundancy
Distributed computing
3. Project Aim.
Create a distributed system
Divide a virtual world
Update characters in it
Consider:
• Processing power
• Scalability, power and money saving
• Flexibility
5. System Structure.
Server & Worker Node architecture
TCP-IP
Message Passing
Node thread pool
6. World Division.
Top-down vs Bottom-up
Microcells
Smallest unit of world
Nodes process several
Distributed statically or
dynamically
Contain and pass work
7. Distribution.
Optimal assignment
• Can be solved with ILP - Complexity too high
Two static approaches used
Dynamic algorithm created
8. Distribution Results.
Amdahl's Law
95% to 99% parallelised
Processing times with varying numbers of nodes
450.000 Average deviation in processing times, over time
4
400.000
3.5
350.000 Server
Average deviation(ms)
Node 1 3
Processing time (ms)
300.000 Node 2
2.5
Node 3
250.000
Node 4 2
200.000 Node 5
1.5
Node 6
150.000 Node 7 1
Node 8
100.000 0.5
Node 9
50.000 0
0 1 2 3 4 5 6
0.000
Time elapsed (minutes)
0 1 2 3 4 5 6 7 8 9 10 11
Number of computers
10. Evaluation.
Scaling nodes
Dynamic distribution algorithm
• Over time
Microcells
Reducing hardware
11. Conclusion.
Reduce processing times
Balance load
Lower power and cooling costs
Further work
• Redundancy
• Inter-node communications
• Scaling factors
12. Hazel McKendrick
Supervised by Henry Fortuna
Distributing
Virtual Worlds
“How can the processing of autonomous characters
in a real-time virtual environment benefit from
parallelisation over multiple distributed computer
systems?”