Myriad Scalable VR via PeertoPeer Connectivity PC Clustering

Myriad: Scalable VR via Peer-to-Peer Connectivity, PC Clustering, and Transient Inconsistency Benjamin Schaeffer Peter Brinkmann George Francis Camille Goudeseune Jim 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. Inexpensive High performance Focus on quality cluster synchronization Cross-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 the individual 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 o another, 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 3 D worlds, particularly of large scale environments Potential uses in the animation industry, for instance. 3 D collaboration across systems with very heterogeneous network, compu 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 stora to recreate the world? Myriad Scalable Scene Graph, VRST 2005, Monterey, CA

World. Wide. Crowd: Demo Configuration Can be easily set up because the peer network is scriptable in Python Myriad Scalable Scene Graph, VRST 2005, Monterey, CA

Many-to-Many Collaboration Multiple views 3 D manipulation Python-based manipulation Myriad Scalable Scene Graph, VRST 2005, Monterey, CA

Peer Network: Handling Connection Cycles Peer 1 Peer connection Peer 2 Peer 3 Peer 4 Peer 5 Messages discarded here. Myriad Scalable Scene Graph, VRST 2005, Monterey, CA

Time Peer 1 Consistency Process Transient Inconsistency Peer 2 Myriad Scalable Scene Graph, VRST 2005, Monterey, CA

Late-Joiner State Transfer: Transient Inconsistency Time Avatar can move while state is transferred in background. Thread safety Myriad Scalable Scene Graph, VRST 2005, Monterey, CA

Myriad Scene Graph points 1 Node Types normals 1 colors 2 drawable (triangles) points 1 normals 1 colors 1 points 1 normals 1 colors 2 transform texture bounding sphere billboard visibility blend light material graphics state normal 3 color 4 tex 2 index points drawable persp camera viewer Geometry Myriad Scalable Scene Graph, VRST 2005, Monterey, CA

Reality Map: Node Levels and Outbound Filters Outbound filter: Structure Outbound filter: Transient Stable Fine-grained Sharing Data flow between top nodes Node levels 1. Structure 2. Stable 3. Optional 4. Transient Reality maps not necessarily “onto”. Myriad Scalable Scene Graph, VRST 2005, Monterey, CA

Message Filtering: Transient Nodes Connection feedback and Fine-grained sharing Peer 1 Peer 2 Map filter: Transient Limb transform node have transient level. 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

Constructing Reality Maps: Merge Algorithm Mapping direction Local Peer Remote Peer (image) 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 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). Myriad Scalable Scene Graph, VRST 2005, Monterey, CA

Message Filtering Algorithm Peer Inbound Reality Map (translates between node IDs) Connection Outbound filter (discard based on node level) 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. Myriad Scalable Scene Graph, VRST 2005, Monterey, CA

Subjective Views Transient Inconsistency Different avatars Myriad Scalable Scene Graph, VRST 2005, Monterey, CA

Subjective Views Transient Inconsistency Different Animations Myriad Scalable Scene Graph, VRST 2005, Monterey, CA

Reality Map: Inserting Material Nodes Root Material node Transform nodes Sphere geometry Myriad Scalable Scene Graph, VRST 2005, Monterey, CA

Peer 1 Reality Map: Inserting Material Nodes Peer connection Root Material node New material nodes Peer 2 Transform nodes Sphere geometry Myriad Scalable Scene Graph, VRST 2005, Monterey, CA

Reality Map: Inserting Transform Nodes Torii rotate in each peer. Peer 1 Peer 2 Myriad Scalable Scene Graph, VRST 2005, Monterey, CA

Scalability: Peers on Underpowered Computers Underpowered computer Peer Connection Myriad Scalable Scene Graph, VRST 2005, Monterey, CA

Scalability: Peers on Underpowered Networks Peer 1 Slow network Peer 2 Time Share only one avata at a time, varying the avatar over time. Myriad Scalable Scene Graph, VRST 2005, Monterey, CA

Virtual Reality View CAVE screen junction… picture taken away from viewpoint. Myriad Scalable Scene Graph, VRST 2005, Monterey, CA

Smooth Pan Down into the Crowd Connection feedback, scalability Time Myriad Scalable Scene Graph, VRST 2005, Monterey, CA

Display wall: Connection feedback (motion culling) Display peer Simulation peer Motion culled from display peer Myriad Scalable Scene Graph, VRST 2005, Monterey, CA

VR View: Scalable Tiled Wall Drawn for Tile 1 Culled from Tile 1 Myriad Scalable Scene Graph, VRST 2005, Monterey, CA

Interactive Editing at the Python Prompt Editing this avatar. 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

Fine-Grained Sharing Changing individual point position. Myriad Scalable Scene Graph, VRST 2005, Monterey, CA

Python Collaboration Peer 1 Thread safety Peer 2 Myriad Scalable Scene Graph, VRST 2005, Monterey, CA

Getting the Software Source code and data to recreate the experiments described her be downloaded from www. isl. uiuc. edu DVDs with precompiled SDKs, source code, many demos, etc. a available here at VRST. Please ask! Everything necessary to rec our lab’s operation. Full documentation available on the lab website. Myriad Scalable Scene Graph, VRST 2005, Monterey, CA
- Slides: 32