Top Banner
Massive Dataset Visualization Aiichiro Nakano Collaboratory for Advanced Computing & Simulations Dept. of Computer Science, Dept. of Physics & Astronomy, Dept. of Chemical Engineering & Materials Science, Dept. of Biological Sciences University of Southern California Email: [email protected]
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

Oct 01, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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/!