Myriad Scalable Scene Graph, VRST 2005, Monterey, CA
Myriad: Scalable VR via Peer-to-Peer Connectivity,PC Clustering, and Transient Inconsistency
Benjamin SchaefferPeter BrinkmannGeorge Francis
Camille GoudeseuneJim Crowell
Hank Kaczmarski
Integrated Systems Lab
University of Illinois Urbana-Champaign
Myriad Scalable Scene Graph, VRST 2005, Monterey, CA
Syzygy: PC Cluster Virtual Reality
In production use at 3 PC Cluster CAVEs at the Integrated Systems Lab.3.5 years of continuous psychology experiments using PC Cluster CAVEs.Over 5 years of development. First release September 2000.70,000 words of documentation.
InexpensiveHigh performanceFocus on quality cluster synchronizationCross-platform: Windows, Linux, Mac OS X, SGI
OPEN SOURCE
Myriad Scalable Scene Graph, VRST 2005, Monterey, CA
Peer-to-Peer Reality (Terms)
Myriad operates using a network of reality peers, each of which holds a scene graph.
Scene graph updates are messages that travel the peer network, altering peers as they go.
The network uses connection feedback to reduce message traffic between peers.
Further message filtering (on peer connections) occurs because of fine-grained sharing and reality maps, which enable complex relationships between peers, such as subjective views.
Fine-grained sharing means that the sharing properties are controllable down to the level of theindividual scene graph node.
A reality map relates scene graph nodes in connected peers.
Transient inconsistency means that connected peers can drift into and out of agreement with oneanother, based both on user and system action.
The system is highly threaded and so must be fully thread safe.
Myriad Scalable Scene Graph, VRST 2005, Monterey, CA
Applications
Collaborative editing of 3D worlds, particularly of large scale environments.Potential uses in the animation industry, for instance.
3D collaboration across systems with very heterogeneous network, compute,and graphics resources.
The future… what would terascale or petascale virtual reality look like? How about a decentralized, ad hoc network with sufficient power and storageto recreate the world?
Myriad Scalable Scene Graph, VRST 2005, Monterey, CA
WorldWideCrowd: Demo Configuration
Can be easily set up because the peer network is scriptable in Python.
Myriad Scalable Scene Graph, VRST 2005, Monterey, CA
Multiple views
3D manipulation
Python-basedmanipulation
Many-to-Many Collaboration
Myriad Scalable Scene Graph, VRST 2005, Monterey, CA
Peer 1
Peer 5
Peer 2
Peer 4
Peer 3
Peer connection
Messages discarded here.
Peer Network: Handling Connection Cycles
Myriad Scalable Scene Graph, VRST 2005, Monterey, CA
Peer 1
Peer 2
ConsistencyProcess
Time
TransientInconsistency
Myriad Scalable Scene Graph, VRST 2005, Monterey, CA
Late-Joiner State Transfer: Transient Inconsistency
Avatar canmove while stateis transferred inbackground.
Thread safety
Time
Myriad Scalable Scene Graph, VRST 2005, Monterey, CA
Myriad Scene Graph
points1
normals1
colors1 colors2
drawable(triangles)
drawable(triangles)
points1normals1colors1
points1normals1colors2
Node Types
transformtexturebounding spherebillboardvisibilityblendlightmaterialgraphics statenormal3color4tex2indexpointsdrawablepersp cameraviewer
Geometry
Myriad Scalable Scene Graph, VRST 2005, Monterey, CA
Node levels
1. Structure2. Stable3. Optional4. Transient
Data flow between top nodes
Stable Stable
Outbound filter:Structure
Outbound filter:Transient
Reality maps not necessarily “onto”.
Reality Map: Node Levels and Outbound Filters
Fine-grained Sharing
Myriad Scalable Scene Graph, VRST 2005, Monterey, CA
Peer 1 Peer 2
Map filter:Transient
Limb transform nodeshave transient level.
Message Filtering: Transient NodesConnection feedback and Fine-grained sharing
1. Connected peers send one another their framerates.2. Each transient node keeps track of when it last sent an update to each connected peer.3. Message send rate throttled to framerate by filtering.
Myriad Scalable Scene Graph, VRST 2005, Monterey, CA
A merging algorithm is needed because graph isomorphism is a difficult problem. The system must support partial sharing (subjective views, transient inconsistency, connection feedback).
1. Assume parent node is mapped.2. Given a local child node. a. If it is not a name node, search below the parent node’s image for an unmapped node of the same name and type. b. If it is a name node, search below the parent node’s image for an unmapped name node.3. If a node is found on the remote peer, extend the map.4. If no node is found, create a new node on the remote peer and extend the map.
The mapping process can also transfer node contents (depending on node level and mapping level).
Local Peer Remote Peer(image)
Mapping direction
Constructing Reality Maps: Merge Algorithm
Myriad Scalable Scene Graph, VRST 2005, Monterey, CA
1. When a peer receives a message, update the message’s internal history. Discard the message if it has already visited this peer.2. If the message is from a mapped node, use the reality mapping to determine its local destination, altering the message (which stores its destination node ID).3. Discard if the message goes to a locked node, but its origin is not the lock’s owner.4. Update the local peer’s scene graph.5. If the message creates or deletes nodes, update the inbound reality map (for the incoming connection) and the outbound filters (on all other connections). Note that the “merge” algorithm uses node creation messages.6. Return node mapping information back to the sending peer upon node creation.7. Send to connected peers if conditions on node level/ mapping level and transient node updates are met.
Inbound Reality Map(translates between node IDs)
Peer Connection
Message Filtering Algorithm
Outbound filter(discard based on node level)
Myriad Scalable Scene Graph, VRST 2005, Monterey, CA
Subjective ViewsD
iffere
nt a
vata
rsTransient Inconsistency
Myriad Scalable Scene Graph, VRST 2005, Monterey, CA
Subjective ViewsD
iffere
nt A
nim
ati o
ns
Transient Inconsistency
Myriad Scalable Scene Graph, VRST 2005, Monterey, CA
Root
Material node
Transform nodes
Spheregeometry
Reality Map: Inserting Material Nodes
Myriad Scalable Scene Graph, VRST 2005, Monterey, CA
Root
Material node
Spheregeometry
Transform nodes
New material nodes
Peer connection
Peer
1Peer
2Reality Map: Inserting
Material Nodes
Myriad Scalable Scene Graph, VRST 2005, Monterey, CA
Peer 1 Peer 2
Reality Map: Inserting Transform Nodes
Torii rotate in each peer.
Myriad Scalable Scene Graph, VRST 2005, Monterey, CA
Peer Connection
Scalability: Peers on Underpowered Computers
Underpoweredcomputer
Myriad Scalable Scene Graph, VRST 2005, Monterey, CA
Time
Peer 1
Peer 2
Scalability: Peers on Underpowered Networks
Share only one avatarat a time, varying theavatar over time.
Slow network
Myriad Scalable Scene Graph, VRST 2005, Monterey, CA
Virtual Reality View
CAVE screenjunction…picture taken away fromviewpoint.
Myriad Scalable Scene Graph, VRST 2005, Monterey, CA
Smooth Pan Down into the CrowdConnection feedback, scalability
Time
Myriad Scalable Scene Graph, VRST 2005, Monterey, CA
Simulation peer
Motion culled from display peer
Display peer
Display wall: Connection feedback (motion culling)
Myriad Scalable Scene Graph, VRST 2005, Monterey, CA
Drawn for Tile 1 Culled from Tile 1
VR View: Scalable Tiled Wall
Myriad Scalable Scene Graph, VRST 2005, Monterey, CA
Editing this avatar.
Interactive Editing at the Python Prompt
Partial database listing.
Myriad Scalable Scene Graph, VRST 2005, Monterey, CA
New texture. Command to make change.
Myriad Scalable Scene Graph, VRST 2005, Monterey, CA
Different transform.
Myriad Scalable Scene Graph, VRST 2005, Monterey, CA
Entirely new avatar.
Myriad Scalable Scene Graph, VRST 2005, Monterey, CA
Changing individual point position.
Fine-Grained Sharing
Myriad Scalable Scene Graph, VRST 2005, Monterey, CA
Python CollaborationThread safetyPeer 1 Peer 2
Myriad Scalable Scene Graph, VRST 2005, Monterey, CA
Getting the Software
Source code and data to recreate the experiments described here can be downloaded from www.isl.uiuc.edu
DVDs with precompiled SDKs, source code, many demos, etc. areavailable here at VRST. Please ask! Everything necessary to recreate our lab’s operation.
Full documentation available on the lab website.