Scalable Peer-to-Peer Networked Virtual Environment

Scalable Peer-to-Peer
Networked Virtual Environment
Master Thesis Oral Examination
Dept. of CSIE, Tamkang Univ.
Advisor: Dr. Chen Jui-Fa
Shun-Yun Hu
2005/01/07
1
Outline





Introduction
Voronoi-based Overlay Network (VON)
Simulation Results
Analysis
Conclusion
2
What is Networked Virtual
Environment (NVE)?

Virtual Reality + Internet

3D environment with people (avatar), objects, terrain,
agents

Military simulations (’80) 
Massively Multiplayer Online Games (mid-‘90)

Trends: larger scale, more realistic simulation
3
4
NVE: A Shared Space
5
Issues for Creating NVE






Consistency (events/states)
Responsiveness
Security
multiplayer
Scalability
Persistency
Reliability (Fault-tolerance)
massively multiplayer
6
The Scalability Problem



Many nodes on a 2D plane ( > 1,000)
Message exchange with those within Area of Interest (AOI)
How does each node receive the relevant messages?
Area of Interest
7
A simple solution (point-to-point)
Source: [Funkhouser95]
N * (N-1) connections ≈ O(N2)  Not scalable!
8
A better solution (client-server)
Source: [Funkhouser95]
Message filtering at server to reduce traffic
N connections = O(N)  server is bottleneck
9
Current solution (server-cluster)
Source: [Funkhouser95]
Still limited by servers. Expansive to deploy & maintain.
10
Scalability Analysis

Scalability constrains


Computing resource
Network resource
Non-scalable system
(CPU)
(Bandwidth)
vs.
Scalable system
Resource limit
x: number of entities
y: resource consumption at the limiting system component
11
What Next?

Strategies



Increase resource
Decrease consumption
Architectures




Point-to-point (LAN)
Client-server
Server-cluster
?
Peer-to-Peer


More servers
Message filtering
Scale
tens
hundreds
thousands
millions
10^1
10^2
10^3
10^6 …
12
What is Peer-to-Peer (P2P)?
[Stoica et al. 2003]
 Distributed systems without any centralized control
or hierarchical organization
 Runs software with equivalent functionality

Examples



File-sharing:
Napster, Gnutella, eDonkey
Distributed computing: SETI@Home (UC Berkeley)
VoIP:
Skype
13
Peer-to-Peer Overlay
A P2P overlay network
source: [Keller & Simon 2003]
14
Promise & Challenge of P2P

Promises



Growing resource, decentralized  Scalable
Commodity hardware
 Affordable
Challenges


Topology maintenance
 dynamic join/leave
Efficient content retrieval  no global knowledge
15
Issues for Creating P2P NVE
Consistency (events/states)
Responsiveness
Security
multiplayer
massively multiplayer

Scalability
Persistency
Reliability (Fault-tolerance)

Consistency (topology)





 P2P NVE
16
Related Works (1): SimMUD
[Knutsson et al. 2004] (Univ. of Pennsylvania)





Pastry + Scribe
Regions
Coordinators
(super-nodes)
Fixed-size region
Relay overhead
17
Related Works (2)
[Kawahara et al. 2004] (Univ. of Tokyo)





Fully-distributed
Nearest-neighbors
List exchange
High transmission
Overlay partition
18
Related Works (3): Solipsis
[Keller & Simon 2003] (France Telecomm R&D)





Links with AOI neighbor
Mutual cooperation
Inside convex hull
Potentially slow discovery
Inconsistent topology
19
Outline





Introduction
Voronoi-based Overlay Network (VON)
Simulation Results
Analysis
Conclusion
20
Design Goals

Observation:


for virtual environment applications, the contents we want
are messages from AOI neighbors
Content discovery is a neighbor discovery problem

Solve the Neighbor Discovery Problem in a fullydistributed, message-efficient manner.

Specific goals:


Scalable
Responsive
 Limit & minimize message traffics
 Direct connection with AOI neighbors
21
Voronoi Diagram


2D Plane partitioned into regions by sites, each
region contains all the points closest to its site
Can be used to find k-nearest neighbor easily
Neighbors
Region
Site
22
Design Concepts
Use Voronoi to solve the neighbor discovery problem




Identify enclosing and boundary neighbors
Each node constructs a Voronoi of its neighbors
Enclosing neighbors are minimally maintained
Mutual collaboration in neighbor discovery
Circle
Area of Interest (AOI)
White
self
Yellow
enclosing neighbor (E.N.)
L. Blue
boundary neighbor (B.N.)
Pink
E.N. & B.N.
Green
AOI neighbor
D. Blue unknown neighbor
23
Procedure (JOIN)
1) Joining node sends coordinates to any existing node
Join request is forwarded to acceptor
2) Acceptor sends back its own neighbor list
joining node connects with other nodes on the list
Joining node
Acceptor’s region
24
Procedure (MOVE)
1) Positions sent to all neighbors, mark messages to B.N.
B.N. checks for overlaps between mover’s AOI and its E.N.
2) Connect to new nodes upon notification by B.N.
Disconnect any non-overlapped neighbor
Boundary
neighbors
Non-overlapped
neighbors
New
neighbors
25
Procedure (LEAVE)
1) Simply disconnect
2) Others then update their Voronoi
new B.N. is discovered via existing B.N.
Leaving node
(also a B.N.)
New boundary neighbor
26
Dynamic AOI
Crowding within AOI can overload a particular node
It’s better if AOI-radius can be adjusted in real time
27
Adjustment Conditions

AOI-radius decrease


AOI-radius increase



Number of connections > maximum allowable connections
Maximum connections not exceeded
Current AOI-radius < preferred AOI-radius
Delay counter

To avoid fluctuations
28
Demonstration
Simulation video



General movements (20 nodes, 800x600 world)
Local vs. global view
Dynamic AOI adjustment
29
Outline





Introduction
Voronoi-based Overlay Network (VON)
Simulation Results
Analysis
Conclusion
31
Simulation Method

C++ implementation of Voronoi-based algorithm

World size: 1000 x 1000, AOI: 150
Trials from 10 – 250 nodes
Connection limit per node: 10
1000 time-steps



(~ 100 simulated seconds, assuming 10 updates/seconds)

Behavior model



Random movement:
Constant velocity:
Movement duration:
random direction
5 units/step
random (1 – 25 steps)
32
Consistency Metrics

Topology Consistency [Kawahara, 2004]
Number of observed AOI neighbors
Number of actual AOI neighbors

Drift Distance [Diot, 1999]
Distance between observed position and actual position
(average over all nodes)
33
Basic Model
Topology Consistency
Topology Consistency (%)
Topology Consistency Measurements
100
99
98
97
96
95
94
93
92
91
90
0
50
100
150
200
250
Number of Nodes
34
Basic Model
Scalability (1)
Transmission Size Per Node Per Second
6.0
5.0
Size (kb)
send (max)
4.0
send (avg)
recv (max)
3.0
recv (avg)
2.0
1.0
0.0
0
25
50
75
100
125 150
175
200
225
250
Number of Nodes
35
Basic Model
Scalability (2)
Average Neighbor Size Measurements
18
16
Neighbor Size
14
12
connected
10
AOI
8
6
4
2
0
0
50
100
150
200
250
Number of Nodes
36
Dynamic AOI Model
Effect of Node Increase on Average AOI-radius
160
Avg. AOI Radius
140
120
100
80
60
40
20
0
0
50
100
150
200
250
Number of Nodes
37
Dynamic AOI
Scalability (1)
Average Neighbor Size Measurements
10
9
Neighbor Size
8
7
connected
6
5
AOI
4
3
2
1
0
0
50
100
150
200
250
Number of Nodes
38
Dynamic AOI
Scalability (2)
Transmission Size Per Node Per Second
4.0
3.5
send (max)
Size (kb)
3.0
send (avg)
2.5
recv (max)
2.0
recv (avg)
1.5
1.0
0.5
0.0
0
25
50
75
100 125 150 175 200 225 250
Number of Nodes
39
Dynamic AOI
Scalability (3)
Comparison of Voronoi-based P2P and Client-Server
180
160
Size (kb)
140
send (avg)
120
recv (avg)
100
CS-send (avg)
80
CS-recv (avg)
60
40
20
0
0
25
50
75
100 125 150 175 200 225 250
Number of Nodes
40
Dynamic AOI
Topology Consistency (1)
Topology Consistency Measurements
Topology Consistency (%)
100
99
98
97
96
95
94
93
92
91
90
10
30
50
70
90
110 130 150 170 190 210 230 250
Number of Nodes
41
Dynamic AOI
Topology Consistency (2)
Drift Distance Measurements
100
Drift Distance
80
max
60
avg
40
20
0
0
50
100
150
200
250
Number of Nodes
42
Dynamic AOI
Reliability (1)
Change in Consistency of over 1000 time-steps (step 150 - 250)
Topology Consistency (%)
100
per step
90
node 1
node 91
80
70
150
160
170
180
190
200
210
220
230
240
250
time-step
43
Dynamic AOI
Reliability (2)
Average Number of Steps to Recover from Inconsistency
4
Steps
3
2
1
0
0
50
100
150
200
250
Number of Nodes
44
Outline





Introduction
Voronoi-based Overlay Network (VON)
Simulation Results
Analysis
Conclusion
45
Analysis of Design
Consistency (Topology)

Topology is fully connected & consistent  enclosing neighbors
Responsiveness

Lowest latency  direct connection, no relay
Scalability

Resource-growing & decentralized resource consumption
Reliability

Self-organizing for small number of node failures
46
P2P NVE Comparisons
SimMUD
Consistency
(topology)
Neighbor-list Solipsis
exchange
Supernode Neighbor listexchange
(partitioning)
Responsive- High
ness
overhead
High
overhead
VON
Neighbor
Neighbor
notify&query notify
(undiscovery) (consistent)
Medium
overhead
Low
overhead
Scalability
Relied on Fullysupernode distributed
Fullydistributed
Fullydistributed
Reliability
Long uptime
N/A
Selforganizing
N/A
47
Problems of Voronoi Approach

Message traffic


Circular round-up of nodes
Redundant message sending
(inherent to fully-distributed design)

Incomplete neighbor discovery


Can happen with inconsistent / incorrect neighbor list
Fast moving node
48
Outline





Introduction
Voronoi-based Overlay Network (VON)
Simulation Results
Analysis
Conclusion
49
Conclusion

NVE scalability is achievable with P2P architecture
and is a neighbor discovery problem

A promising solution: Voronoi-based P2P Overlay


Leverage knowledge of each peer to maintain topology
Properties



Scalable: fully-distributed, dynamic AOI
Efficient: low irrelevant messages, zero relay
Robust: consistent and self-organizing topology
50
Potential Applications

Online games
Relieve server from position updates in current MMOGs

Military
Enable large-scale, affordable military training simulation

3D Web
Provide multi-user interactivity to static 3D world

Scientific simulations
Distribute spatial simulation requiring frequent synchronization
51
Future Works

Short-term




Reliability measurements  latency, packet loss, node fail
Distributed event/state consistency
Recovery from overlay partition
Long-term



Persistency issue
(P2P-based database)
Security issue
(protection from malicious nodes)
3D content distribution (3D streaming on P2P)
Massive, persistent 3D environment sharable by all!
52
Acknowledgements











Dr. Jui-Fa Chen
(陳瑞發老師)
Dr. Wei-Chuan Lin
(林偉川老師)
Members of the Alpha Lab, TKU CS
Guan-Ming Liao
(廖冠名)
Dr. Chin-Kun Hu
(胡進錕老師)
LSCP, Institute of Physics, Academia Sinica
Joaquin Keller
Bart Whitebook
Jon Watte
(France Telecomm R&D, Solipsis)
(butterfly.net)
(there.com)
Dr. Wen-Bing Horng
Dr. Jiung-yao Huang
(洪文斌老師)
(黃俊堯老師)
53
Inconsistency caused by dAOI
54
Reliability (0-500 steps)
Change in Consistency of over 1000 time-steps (step 1 - 500)
Topology Consistency (%)
100
per step
90
node 1
node 91
80
70
0
100
200
300
400
500
time-step
55
Reliability (501-1000 steps)
Change in Consistency of over 1000 time-steps (step 501 - 1000)
Topology Consistency (%)
100
per step
90
node 1
node 91
80
70
500
600
700
time-step
800
900
1000
56