![Page 1: Massive Dataset Visualizationcacs.usc.edu/education/cs653/05-1MassiveViz.pdf · Data Compression for Scalable I/O Scalable encoding: • Spacefilling curve based on octree index](https://reader034.vdocuments.us/reader034/viewer/2022052010/601feffa7c77ae5fa0659b42/html5/thumbnails/1.jpg)
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]
![Page 2: Massive Dataset Visualizationcacs.usc.edu/education/cs653/05-1MassiveViz.pdf · Data Compression for Scalable I/O Scalable encoding: • Spacefilling curve based on octree index](https://reader034.vdocuments.us/reader034/viewer/2022052010/601feffa7c77ae5fa0659b42/html5/thumbnails/2.jpg)
Immersive & Interactive Visualization
PC cluster
WANDUser
positionGraphics
serverImmersaDesk
Reduced data
Challenge: billion-atom walkthrough
Solution: parallel & distributed Atomsviewer
![Page 3: Massive Dataset Visualizationcacs.usc.edu/education/cs653/05-1MassiveViz.pdf · Data Compression for Scalable I/O Scalable encoding: • Spacefilling curve based on octree index](https://reader034.vdocuments.us/reader034/viewer/2022052010/601feffa7c77ae5fa0659b42/html5/thumbnails/3.jpg)
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
![Page 4: Massive Dataset Visualizationcacs.usc.edu/education/cs653/05-1MassiveViz.pdf · Data Compression for Scalable I/O Scalable encoding: • Spacefilling curve based on octree index](https://reader034.vdocuments.us/reader034/viewer/2022052010/601feffa7c77ae5fa0659b42/html5/thumbnails/4.jpg)
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
![Page 5: Massive Dataset Visualizationcacs.usc.edu/education/cs653/05-1MassiveViz.pdf · Data Compression for Scalable I/O Scalable encoding: • Spacefilling curve based on octree index](https://reader034.vdocuments.us/reader034/viewer/2022052010/601feffa7c77ae5fa0659b42/html5/thumbnails/5.jpg)
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
![Page 6: Massive Dataset Visualizationcacs.usc.edu/education/cs653/05-1MassiveViz.pdf · Data Compression for Scalable I/O Scalable encoding: • Spacefilling curve based on octree index](https://reader034.vdocuments.us/reader034/viewer/2022052010/601feffa7c77ae5fa0659b42/html5/thumbnails/6.jpg)
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
![Page 7: Massive Dataset Visualizationcacs.usc.edu/education/cs653/05-1MassiveViz.pdf · Data Compression for Scalable I/O Scalable encoding: • Spacefilling curve based on octree index](https://reader034.vdocuments.us/reader034/viewer/2022052010/601feffa7c77ae5fa0659b42/html5/thumbnails/7.jpg)
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
![Page 8: Massive Dataset Visualizationcacs.usc.edu/education/cs653/05-1MassiveViz.pdf · Data Compression for Scalable I/O Scalable encoding: • Spacefilling curve based on octree index](https://reader034.vdocuments.us/reader034/viewer/2022052010/601feffa7c77ae5fa0659b42/html5/thumbnails/8.jpg)
Visibility Culling
Viewpoint
Higher Depth View frustum culling!
Occlusion culling!
![Page 9: Massive Dataset Visualizationcacs.usc.edu/education/cs653/05-1MassiveViz.pdf · Data Compression for Scalable I/O Scalable encoding: • Spacefilling curve based on octree index](https://reader034.vdocuments.us/reader034/viewer/2022052010/601feffa7c77ae5fa0659b42/html5/thumbnails/9.jpg)
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)
![Page 10: Massive Dataset Visualizationcacs.usc.edu/education/cs653/05-1MassiveViz.pdf · Data Compression for Scalable I/O Scalable encoding: • Spacefilling curve based on octree index](https://reader034.vdocuments.us/reader034/viewer/2022052010/601feffa7c77ae5fa0659b42/html5/thumbnails/10.jpg)
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
![Page 11: Massive Dataset Visualizationcacs.usc.edu/education/cs653/05-1MassiveViz.pdf · Data Compression for Scalable I/O Scalable encoding: • Spacefilling curve based on octree index](https://reader034.vdocuments.us/reader034/viewer/2022052010/601feffa7c77ae5fa0659b42/html5/thumbnails/11.jpg)
Results of Probabilstic Occlusion Culling
68% fewer objects; 3× frame rate!
Original ! Probabilistic! Difference!
![Page 12: Massive Dataset Visualizationcacs.usc.edu/education/cs653/05-1MassiveViz.pdf · Data Compression for Scalable I/O Scalable encoding: • Spacefilling curve based on octree index](https://reader034.vdocuments.us/reader034/viewer/2022052010/601feffa7c77ae5fa0659b42/html5/thumbnails/12.jpg)
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)
![Page 13: Massive Dataset Visualizationcacs.usc.edu/education/cs653/05-1MassiveViz.pdf · Data Compression for Scalable I/O Scalable encoding: • Spacefilling curve based on octree index](https://reader034.vdocuments.us/reader034/viewer/2022052010/601feffa7c77ae5fa0659b42/html5/thumbnails/13.jpg)
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
![Page 14: Massive Dataset Visualizationcacs.usc.edu/education/cs653/05-1MassiveViz.pdf · Data Compression for Scalable I/O Scalable encoding: • Spacefilling curve based on octree index](https://reader034.vdocuments.us/reader034/viewer/2022052010/601feffa7c77ae5fa0659b42/html5/thumbnails/14.jpg)
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
![Page 15: Massive Dataset Visualizationcacs.usc.edu/education/cs653/05-1MassiveViz.pdf · Data Compression for Scalable I/O Scalable encoding: • Spacefilling curve based on octree index](https://reader034.vdocuments.us/reader034/viewer/2022052010/601feffa7c77ae5fa0659b42/html5/thumbnails/15.jpg)
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
![Page 16: Massive Dataset Visualizationcacs.usc.edu/education/cs653/05-1MassiveViz.pdf · Data Compression for Scalable I/O Scalable encoding: • Spacefilling curve based on octree index](https://reader034.vdocuments.us/reader034/viewer/2022052010/601feffa7c77ae5fa0659b42/html5/thumbnails/16.jpg)
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
![Page 17: Massive Dataset Visualizationcacs.usc.edu/education/cs653/05-1MassiveViz.pdf · Data Compression for Scalable I/O Scalable encoding: • Spacefilling curve based on octree index](https://reader034.vdocuments.us/reader034/viewer/2022052010/601feffa7c77ae5fa0659b42/html5/thumbnails/17.jpg)
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
![Page 18: Massive Dataset Visualizationcacs.usc.edu/education/cs653/05-1MassiveViz.pdf · Data Compression for Scalable I/O Scalable encoding: • Spacefilling curve based on octree index](https://reader034.vdocuments.us/reader034/viewer/2022052010/601feffa7c77ae5fa0659b42/html5/thumbnails/18.jpg)
Atomsviewer Code
•Programming language> C++
•Graphics> OpenGL> CAVE Library (optional)
•Platforms> Windows> Macintosh OS X > SGI Irix
![Page 19: Massive Dataset Visualizationcacs.usc.edu/education/cs653/05-1MassiveViz.pdf · Data Compression for Scalable I/O Scalable encoding: • Spacefilling curve based on octree index](https://reader034.vdocuments.us/reader034/viewer/2022052010/601feffa7c77ae5fa0659b42/html5/thumbnails/19.jpg)
Atomsviewer System
![Page 20: Massive Dataset Visualizationcacs.usc.edu/education/cs653/05-1MassiveViz.pdf · Data Compression for Scalable I/O Scalable encoding: • Spacefilling curve based on octree index](https://reader034.vdocuments.us/reader034/viewer/2022052010/601feffa7c77ae5fa0659b42/html5/thumbnails/20.jpg)
Atomsviewer Commands
![Page 21: Massive Dataset Visualizationcacs.usc.edu/education/cs653/05-1MassiveViz.pdf · Data Compression for Scalable I/O Scalable encoding: • Spacefilling curve based on octree index](https://reader034.vdocuments.us/reader034/viewer/2022052010/601feffa7c77ae5fa0659b42/html5/thumbnails/21.jpg)
Atomsviewer Code DisseminationComputer Physics Communications Program Library
http://www.cpc.cs.qub.ac.uk/cpc
![Page 22: Massive Dataset Visualizationcacs.usc.edu/education/cs653/05-1MassiveViz.pdf · Data Compression for Scalable I/O Scalable encoding: • Spacefilling curve based on octree index](https://reader034.vdocuments.us/reader034/viewer/2022052010/601feffa7c77ae5fa0659b42/html5/thumbnails/22.jpg)
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/!