active visualization in a multidisplay immersive environment...
TRANSCRIPT
![Page 1: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/1.jpg)
Active Visualization in a Multidisplay Immersive
Environment using COTS
Chandrajit Bajaj
Center for Computational VisualizationDept. of Computer Sciences & TICAM
University of Texas at Austinhttp://www.ticam.utexas.edu/CCV
![Page 2: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/2.jpg)
Exploratory Visualization of Large Simulations
![Page 3: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/3.jpg)
Exploratory Visualization of Large Imaging Data
![Page 4: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/4.jpg)
Scalable Visualization
Visualize increasingly large data meshes from imaging & simulationImprove performance by adding computational resources
Isosurface Large displayVisualizationCluster
![Page 5: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/5.jpg)
Objectiveprimary costs in scalable visualization:
Disk I/O (loading field data from disks)Disk I/O (loading field data from disks)Extraction (geometry)Extraction (geometry)Rendering (geometry)Rendering (geometry)
A Scalable Visualization FrameworkScales with field datasetsScales in computation Scales in disk I/OScales in rendering
![Page 6: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/6.jpg)
Scalable Closed-Loop Visualization
Pose Tracker
![Page 7: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/7.jpg)
Cluster A PC cluster of 128 Nodes (Compaq
SP750)PIII 800 MHZ CPU and 256 MB
memory100 Mb/s Ethernet (partial nodes with
Servernet II and Gigabit Ethernet)32 nodes with GeForce II graphics
cards9 GB system disk and 18 GB data diskLinux kernel 2.2.19
![Page 8: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/8.jpg)
Large Display
![Page 9: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/9.jpg)
Isocontour VisualizationInput:
Scalar Field F defined on a meshQuery Isovalue w
Output:Contour C(w) = {x | F(x) = w}
![Page 10: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/10.jpg)
IsocontouringTwo primary stages in contour extraction from a Two primary stages in contour extraction from a mesh:mesh:Search for intersected cells Search for intersected cells Contour approximation within an intersected cellContour approximation within an intersected cell
15 distinct cases for triangulating a 3D regular cell
![Page 11: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/11.jpg)
Scalable Isosurface extractionScalable with the number of processors
Good load balance and speedupImprove interactivity with more processors
Scalable I/OParallel disks and balanced disk I/OsAvoid I/O bottleneck for large datasets
Scalable with the size of datasetsOut-of-core computationMinimum data replicationHandle larger datasets when resources are fixed
![Page 12: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/12.jpg)
Computation Model
N: Total size of the problemM: Main memory of a single processorP: Number of processorsD: Number of disks. B: Size of a disk blockL: Latency parameter of the BSP modelg: Bandwidth parameter of the BSP model
N > P*M
![Page 13: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/13.jpg)
Computation Time
wT
( )iocwpTTTT ++=max
ioT
: Local computation time
: Disk access time
: Communication timecT
![Page 14: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/14.jpg)
Isocontouring Algorithms
Contour Tree [Van Kreveld]
Seed Set [Bajaj/Pascucci/Schikore]
Extrema Graph [Itoh/Koyamada]Propagation
Span Filtering [Gallapher]Sweeping Simplices [Shen/Johnson]
Kd-Tree [Livant/Shen/Johnson]
LxL Lattice [Shen et al.]Interval Tree [Cignoni et al.]
Marching Cubes [Lorenson/Cline]
Octree [Wilhelms/Van Gelder]
Cell byCell
Con
tour Strategy
Range SpaceGeometric Space
Search Space
![Page 15: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/15.jpg)
External Search Data Structure
Meta-block tree (Kanellakis ’93)
External Interval Tree (Arge and Vitter ’96)
Binary Blocked Interval Tree (Chiang and Silva ’98)
Optimal disk space Optimal query I/O operations
ΒΝΟ
+
BTNO Blog
![Page 16: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/16.jpg)
Parallel Isocontouring
SIMD Hansen/Hinker ’92
Parallel (Cluster) Ellsiepen ’95
Parallel LxL lattice Shen et al. ’96
Parallel ray tracing Parker et al. ’98
Range Partition Bajaj et al. 99
![Page 17: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/17.jpg)
Contour SpectrumSpectrum of a data set can represent the work load for different isovalues p
The overall work load diagram for each isovalue is the sum of the diagrams of atomic units
![Page 18: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/18.jpg)
Ideal Data Partition
Ideal data partition for load balanced parallel computations (two processor case)
![Page 19: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/19.jpg)
Static Data Partitioning
Why Static partitioning?Communication is slowDynamic data assignment requires run-time redistribution or data replicationIt gives good load balance for massive datasets
How?Deterministic algorithmRandomized algorithm
![Page 20: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/20.jpg)
Deterministic Algorithm1. Partition volume into
blocks of the same order as disk blocks 2. Partition range space
into an nxn lattice3. Sort blocks in each
lattice element by their range sizes4. Assign the sorted
blocks in a round-robin fashion
![Page 21: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/21.jpg)
Randomized Algorithm
Well balanced when the number of blocks is large
1. Partition volume into blocks of the same order as disk blocks 2. Assign blocks randomly to processors
![Page 22: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/22.jpg)
Randomized Algorithm
It shows that with high probability no processor has much largerthat the average work load if there are many blocks.
Theorem (Raghavan 88) Let naa ,,1 L be real numbers in ]1,0(
. Let nxx ,,1 L be independent Bernoulli trials with
jjx ρ=Ε )( . Let ∑ ==
n
j jj xa1βψ . If 0)( >Ε βψ , then for any 0>ν
)(
)1()1())()1(Pr(
βψ
ν
ν
ββ νψνψ
EeE
+
<+> +
P. Raghavan Journal of Computer and System Sciences, 37:130-143, 1988
![Page 23: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/23.jpg)
Scalable Parallel & Out-of-core Isocontouring(Sketch of preprocessing Algorithm)
Assume input to be slabs distributed among D disksRearrange data into blocks of size θ(B)Assign data statically onto the processors and disks
Good load balanceMinimum data replication
Communicate blocks to their destined disksBuild external interval tree for blocks on each disk
Load only relevant data blocksMinimize disk access
![Page 24: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/24.jpg)
Parallel and Out-of-core Isocontour Querying
Each processor runs independentlySearches its external interval tree to find its active blocksLoads its active blocks and extract isosurfacesRenders the extracted isosurfaces with its local graphics boardFinal Image is composited by the Metabuffer
![Page 25: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/25.jpg)
Multi-resolution Isosurfaces
24,084 triangles 651,234 triangles 6,442,810 triangles
![Page 26: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/26.jpg)
Test Datasets
16.5 GB1600x1000x5186Female Cryosection
6.6 GB1800x1000x1878Male Cryosection
656 MB512x512x1252Male MRI
SizeDimensionName
![Page 27: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/27.jpg)
Speedup
Visible Male MRI Dataset with random data distribution
![Page 28: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/28.jpg)
Extraction and Rendering Time
Visible Male MRI Dataset (isovalue = 800)
![Page 29: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/29.jpg)
Workload Histograms
Male MRI Dataset with 32 processors
Deterministic Greedy Algorithm Randomized Algorithm
![Page 30: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/30.jpg)
Extraction Time
Male and Female Cryosection Datasets
![Page 31: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/31.jpg)
Workload Histogram for Male Cryosection Dataset
Male Cryosection Dataset with 96 processors
![Page 32: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/32.jpg)
View Dependent Isocontouring
Why?Many polygons are invisibleReduce extraction and rendering time
ConditionsNo pre-existing polygons for generating occlusion mapsData Blocks are distributed among multiple processorsConservative visibility culling (No holes)
![Page 33: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/33.jpg)
View-dependent Rendering
Visibility CullingObject space culling
Interactive walkthrough (Teller and Sequin ’91)
Occlusion BSP Tree (Naylor ‘92)
Prioritized-layer projection (Klosowski and Silva ’99)
Image Space CullingHierarchical Z-Buffer (greene et al. ’93)Hierarchical Tiling (greene ’96)Hierarchical Occlusion Map (Zhang ’97)Lazy Occlusion Grid (Hey ’01)Randomized Z-Buffer (Wand ’01)
![Page 34: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/34.jpg)
View-dependent Isocontouring
View-dependent IsocontouringOctree front-to-back traversal (Livnat and Hansen ’98)
Parallel ray-tracing (Parker et al. ’98)
Ray-casting & Propagation (Liu et al. ’00)
Parallel Multi-pass (Gao and Shen ’01)
Parallel Single-pass (Zhang and Bajaj ’02)
![Page 35: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/35.jpg)
Algorithm outline
Occluder SelectionFind initial occluding blocks by raycastingBuild occlusion map by extracting and rendering isosurfaces in the occluding blocks
Visibility CullingCull the remaining blocks with the occlusion map
![Page 36: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/36.jpg)
Results
# of triangles extracted Extraction and rendering time
![Page 37: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/37.jpg)
ParallelizationParallelize occluder selection
Each processor shoots a subset of raysOccluding blocks are the union among processorsBlock ranges are replicated on each processor
Parallelize occlusion map constructionEach processor extracts and renders a subset of occluding blocks that reside on its local diskOcclusion maps of individual processors are merged
Parallelize Visibility CullingEach processor queries its own external interval tree and tests its local blocksEach processor extracts and renders visible blocks on its local disk
![Page 38: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/38.jpg)
Results
Speedup Extraction and rendering time
![Page 39: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/39.jpg)
Good Features
Conservative (no hole)Single PassEasily ParallelizableWell Load BalancedOut-of-core
![Page 40: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/40.jpg)
Parallel Rendering
Fast display of large isosurfacesBased upon the Metabuffer architecture
Parallel renders mapped to tiled displaysLoad balance among rendering processesMany possible configurations
![Page 41: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/41.jpg)
Scalable Closed-Loop Visualization
Pose Tracker
![Page 42: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/42.jpg)
Graphics Pipeline
Main Memorypolygons
Geometry Processor
primitives
Rasterizerfragments
Fragment Processor Framebuffer
![Page 43: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/43.jpg)
D1D2D3
Parallel Rendering
Application
G G G
R R R
Application
G G G
R R R
Application
G G G
R R R
D1D2 D3 D1D2D3
Sort First Sort Middle Sort Last
![Page 44: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/44.jpg)
Scalable Parallel Rendering
Scalable Display Wall (Princeton)Myrinet & sort-first
WireGL (Stanford)Sepia (Compaq)
ServerNet II & custom compositing
Meta-Buffer (UT)Lighting 2 (Stanford)
![Page 45: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/45.jpg)
Metabuffer FeaturesIndependently scalable number of renders and display tilesThe viewport of a render can locate anywhere in the display space Viewports can overlapViewports can be different size (multi-resolution)
![Page 46: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/46.jpg)
Configuration I
Display
![Page 47: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/47.jpg)
Configuration I
Each Renderer has the same viewportPolygons can be assigned to any rendererDisplay has the same resolution as a rendering process
Load balance for isosurface renderingEach processor generates similar number of trianglesNo need to redistribute trianglesEfficiently use memory as cache for change of viewpoint
![Page 48: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/48.jpg)
Configuration II
![Page 49: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/49.jpg)
Configuration IIEach renderer has a viewport with the size of a tile
Faster rendering and higher resolution on large displayIndependent number of renderers and tilesCombination of sort-first and sort-last
Load BalancePolygons cannot be assigned arbitrarilyViewports are positioned with constraintsLoad balance among the viewportsDifferent viewport locations for different view parameters
![Page 50: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/50.jpg)
Viewport Positioning ProblemConditions
m rendering server to cover n tiles (m > n)Each tile has the resolution Each server renders C triangles/secT triangles in the scene
ConstraintsThe viewport of each server has the same resolutionservers only render triangles in their viewportsEvery triangle is covered by the union of viewports and rendered by at least one server
Best time: T/(m*C); worst time T/((m-n+1)*C)NP-hard. Have to use approximation method
hw×
hw×
![Page 51: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/51.jpg)
Greedy algorithmFind the center of mass of all triangles.Sort triangles by the distance to the center of massEach triangle is assigned to a viewport in the order of decreasing distance
Create a new viewport if no viewport can cover the triangleIf multiple viewports are applicable, chose the one with least mobility Close a viewport if its triangle count exceeds a threshold
Iterate the viewports to move triangles from over-loaded ones to under-loaded ones
![Page 52: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/52.jpg)
Progressive Image Composition
It is slow to recompute viewport positions and redistribute polygons when view point changesChange the resolution of viewports for time-critical rendering
The Metabuffer supports multi-resolutionInitially polygons are well-balancedly distributed When the user navigates, viewports are enlarged to encompass its assigned polygons. Thus those renderers still renders at the same rate but with lower resolutionWhen the user pauses at some viewpoint, polygons are reshuffled to reduce viewport sizes.
![Page 53: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/53.jpg)
Movie
![Page 54: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/54.jpg)
Multiresolution Multi-Tiled Displays: Human Vision
Peripheral visionNot sensitive to detail
Huge multitiled displaysOnly small percentage viewed
Gaze of usersConcentrate rendering resources
PeripheryRendered in low resolution
![Page 55: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/55.jpg)
Visual acuity
ContinuousDynamic assignmentLOD and resolutionGeneralized ROI
FrequencyDistanceHistory
DiscretePoints on graphStatic assignment
![Page 56: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/56.jpg)
Active Visualiztion:Male VH (9,128,798)
![Page 57: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/57.jpg)
Male Timings
![Page 58: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/58.jpg)
ConclusionA end-to-end scalable parallel frameworkParallel Multi-resolution Isocontour extraction
Load balanced and completely out-of-coreMinimum data replicationView-dependent isocontour extraction
Parallel Multi-resolution renderingLoad balance for different configurationsProgressive image composition for time-critical renderingFoveated resolution display
![Page 59: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/59.jpg)
Compression
Output from large dataset is also largeStore isosurfaces in compressed format to save storage spaceUse compression to save communication between computational servers and rendering clients
Post-extraction surface compression is usually expensive
Extract isosurfaces in compressed formatallow incremental decompression and rendering
![Page 60: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/60.jpg)
Surface Compression
Turan ’84Deering ’95Chow ’97Taubin/Rossignac ’96Touma/Gotsman ’98Bajaj/Pascucci/Zhuang ‘99
![Page 61: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/61.jpg)
Edge Index
A
B
D
C
To reconstruct the red triangle, one only needs to know functionvalues at vertex A, B, C, D and indices of edge AB, AC and AD
![Page 62: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/62.jpg)
Cell ConfigurationThe configuration of a cell can be derived from the function values and indices of its relevant vertices
> isovalue
< isovalue
![Page 63: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/63.jpg)
2D Example
Red Vertices: Relevant VerticesGreen Cells: Valid Cells
![Page 64: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/64.jpg)
Advantages
Compressed Output: Isosurface is extracted directly in compressed formatMinimal Memory requirement: Only two slices are needed in memory at any time Compressed Input: Each slice may be stored in compressed image format (jpeg)Incremental Transmission: It can be transmitted and decompressed incrementally
![Page 65: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/65.jpg)
Guaranteed Right Topology
14 bits/vertex 10 bits/vertex 6 bits/vertex
![Page 66: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/66.jpg)
Compression Results
0
2,000,000
4,000,000
6,000,000
8,000,000
10,000,000
12,000,000
14,000,000
16,000,000
18,000,000
Hipip (0.0) Foot (600.0) Foot (1200.0) Engine (89.0) Engine (180.0)
Byt
es
OriginalM1Edge Index
M1 alg. is in Bajaj/Pascucci/Zhuang ’99 and uses 8 bits/vertex
![Page 67: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/67.jpg)
Compression Results
Original
7,536,227 bytes
M1 Algorithm
587,344 Bytes
Edge Index
407,658 Bytes
![Page 68: Active Visualization in a Multidisplay Immersive Environment …wscg.zcu.cz/wscg2002/Bajaj/plzen-wscg2002.pdf · 2002. 3. 3. · Scalable Parallel & Out-of-core Isocontouring (Sketch](https://reader033.vdocuments.site/reader033/viewer/2022052001/6014524e8cfd194627168cd2/html5/thumbnails/68.jpg)
Average ErrorAverage Vertex Error
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0 5 10 15 20 25 30 35
bit/vertex
erro
r Edge IndexM1 Alg.
Blackhole data (isovalue = 1.23)