Massive Dataset Visualization
Aiichiro NakanoCollaboratory for Advanced Computing & Simulations
Dept. of Computer Science, Dept. of Physics & Astronomy, Dept. of Chemical Engineering & Materials Science,
Dept. of Biological SciencesUniversity of Southern California
Email: [email protected]
Immersive & Interactive Visualization
PC cluster
WANDUser
positionGraphics
serverImmersaDesk
Reduced data
Challenge: billion-atom walkthrough
Solution: parallel & distributed Atomsviewer
Locality in Data Compression
Scalable encoding:• Store relative positions on spacefilling curve: O(NlogN) → O(N)Result:• Data size, 50Bytes/atom → 6 Bytes/atom
19
87
65
4
3
2
14 13
1211
10
Massive data transfer via wide area network:75 GB/step of data for 1.5 billion-atom MD!
→ Compressed software pipeline
Data Compression for Scalable I/O
Scalable encoding:•Spacefilling curve based on octree index
Challenge: Massive data transfer via OC-12 (622 Mbps)75 GB/frame of data for a 1.5-billion-atom MD!
x = 1 1 0!y = 0 0 0!z = 1 0 0 !R = 101 001 000!
3D → list map preserves spatial proximity
Spacefilling-Curve Data Compression Algorithm:1. Sort particles along the spacefilling curve2. Store relative positions: O(NlogN) → O(N)• Adaptive variable-length encoding to handle outliers• User-controlled error bound
Result:• An order-of-magnitude reduction of I/O size: 50 → 6 Bytes/atom
Data Locality in Visualization•Octree-based fast view-frustum
culling•Probabilistic occlusion culling•Parallel/distributed processing
PC cluster
WANDUser
positionGraphics
serverImmersaDesk
Reduced data
•Interactive visualization of a billion-atom dataset in immersive environment
Hierarchical Abstraction
l = 1
l = 2
l = 3
l = 0
•Larger clusters for longer distances•Recursively subdivide the 3D spaceto form an octree
2D example Use of an octree
Visibility Culling
Viewpoint
Higher Depth View frustum culling!
Occlusion culling!
Octree-based View-Frustum Culling
• Use the octree data structure to efficiently select only visible atoms
• ComplexityInsertion into octree: O(N)Data extraction: O(logN)
Probabilstic Occlusion Culling
€
vx =1
f (D ʹ x ,v ʹ x )x = 0else Dx = density of region
⎧ ⎨ ⎩
€
ʹ v x = f user speed( ) × vx
• Remove atoms that are occluded by other atoms closer to the viewer• Regions farther away from the viewer is more likely to be occluded
than one in front of the viewer
• Draw fewer atoms per region as thedistance of a region from the viewer increases: visibility value v(x) for region x
• Recurrence along the view line
• Run time adaptation
Results of Probabilstic Occlusion Culling
68% fewer objects; 3× frame rate!
Original ! Probabilistic! Difference!
Multiresolution Culling & Rendering
.94fps - 90,000 particles
3.2fps - 4,500 particles
Without multiresolution With multiresolution
Outflow pathways of optic nerves from the retina of a rabbit eye (Experimental data by C. Burgoyne & R. Beuerman, LSU Eye Center)
• Per-octree node operations:—Frustum culling—Probabilistic occlusion culling
• Per-atom operations—Multiple levels-of-detail—Occlusion culling (per-object, per-octree node)
Distributed Architecture
OCTREE BASED DATA EXTRACTION MODULE
PROBABALISTIC OCCLUSION CULLING MODULE
RENDERING SYSTEM
PER-ATOM OCCLUDER
RENDERING & VISUALIZATION MODULE
USER POSITION NEAR COMPLETE LIST OFVIEWABLE ATOMS
REGIONS OF INTEREST
TCP/IP SOCKET
Parallel Octree Extraction
PC Cluster Nodes
Bounding Shells of Equal Volume
• Individual copies of the octree with each node• Spherical extraction by the use of shells of equal volume• Load balancing due to the equal use of each processor for extraction
Latency Hiding• Individual modules are multithreaded to reduce network or
module latency• Minimize latency due to inter-modular dependencies by
overlapping the inter-module communication and module computation
Parallel & Distributed AtomsviewerReal-time walkthrough for a billion atoms on an SGI Onyx2 (2 × MIPS R10K, 4GB RAM) connected to a PC cluster (4 × 800MHz P3)
IEEE Virtual Reality Best Paper
Parallel Rendering
• Parallel (software) rendering of spatially distributed data: hybrid sort-first/sort-last
• Scalable depth buffer by domain-level distributed visibility ordering
• On-the-fly visualization of parallel simulation without data migration
• Parallel efficiency 0.98 on 1,024 processors for 16.8 million-atom molecular-dynamics simulation http://www.mesa3d.org
Soft rendering
Atomsviewer Code
•Programming language> C++
•Graphics> OpenGL> CAVE Library (optional)
•Platforms> Windows> Macintosh OS X > SGI Irix
Atomsviewer System
Atomsviewer Commands
Atomsviewer Code DisseminationComputer Physics Communications Program Library
http://www.cpc.cs.qub.ac.uk/cpc
Other Visualization Tools
• VisIT visualization tool at Lawrence Livermore National Laboratory http://www.llnl.gov/visit/!
• ParaView parallel visualization application at Los Alamos National Laboratory http://www.paraview.org/New/index.html!
• VMD visual molecular dynamics at University of Illinois at Urbana-Champaign! http://www.ks.uiuc.edu/Research/vmd/!