parallel volume rendering for ocean visualization in a cluster of pcs alexandre coelho marcio...
TRANSCRIPT
Parallel Volume Rendering for Ocean Visualization in a
Cluster of PCs
Alexandre CoelhoMarcio Nascimento
Cristiana BentesMaria Clicia S. de Castro
Ricardo Farias
– Geomática/UERJ
– Geomática/UERJ
– Geomática/UERJ
– IME/UERJ
– COPPE/UFRJ
Outline
• Volume Visualization Overview
• Parallel Rendering System
• Experimental Results
• Conclusions
What is Volume Visualization?
• Volumetric data images
• 3D data 2D plane
• Gains:
– Understanding
– Visual analysis and interpretation
– Meaningful information
Volume Visualization Applications
• Medicine, Geology, Chemistry, Industry
• Geographical Information Systems
– Ocean Modeling
– Monitoring the atmospheric pollution
– Terrain Modeling
– Analyzing natural phenomena (cyclones)
Volumetric Data
• Generated:
– Sensors (CT scanner)
– Simulation (Fluid Dynamic)
– Measured Data (Ocean Buoys)
• Representation:
– 3D grid of voxels (Regular or Irregular)
Volume Visualization Methods
• Surface Rendering– Generates image of the surface– Throws away data between surfaces
• Direct Volume Rendering
– Treats object as semi-transparent
– Can see entire volume
Volume Visualization Methods
Surface Rendering Volume Renderingx
Volume Rendering Challenge
• Large scale 3D data
– Computational intensive
– Unacceptably long time on uniprocessors
Efficient Volume Rendering
• Parallel Processing
– Multiple processors:
• Parallel Machines
• Cluster of PCs
Parallel Volume Rendering
Clusters of PCs
• Low cost• High availability• Easy to update
Parallel Machines
• Good speedups • Expensive
Our goal
• Parallel Volume Rendering System for Ocean Visualization
– Efficient and scalable
– Low-cost
– All software implementation
– Portable and Free software
– Out-of-core execution
Our goal
• Allows Visualization of Ocean Inner Structure
– Climate research
– Offshore industries
– Fishing and Mammal Management
The Parallel Rendering System
• DPZSweep
– Based on PZSweep• Sweeping plane paradigm• Projection of the faces in depth order
– Two modules:• Pre-processing• Parallel Rendering
The Parallel Rendering System
Grid Generation
Oceandata
Octree Creation
Irregular grid
Octree
Parallel Algorithm
Pre-processing
Parallel Rendering
Pre-Processing
• Grid Generation:– Latitude/Longitude data irregular grid
Pre-Processing
• Octree Creation:– Out-of-core execution
Octreefile
Parallel Rendering Algorithm
• Parallelization:– Breaking the screen into rectangles - tiles
Image portion that can be computed
independently
Parallel Rendering Algorithm
• Parallelization:– Breaking the screen into rectangles - tiles
Parallel Rendering Algorithm
• Tile distribution– Random assignment– Dynamic distribution
Parallel Rendering Algorithm
• Dynamic Load Balancing– Rebalance the work– Distributed information diffusion algorithms– Work stealing
Load Balancing Algorithms
• Nearest Neighbor (NN)– Steal work from the nearest neighbor
• Longest Queue (LQ)– Steal work from overloaded node– Token ring to distribute load information
• Circular Distribution (CD)– Dynamic distribution with token ring
Experimental Results
• Cluster:
– 16 processors
– 512M bytes
– Fast Ethernet 100Mbits/sec
– Linux 2.4.20
– MPI
Ocean Dataset
• Gulf of Mexico Data– NRL/ERC-MSU– Thanks to Dr. Robert Moorhead
• Resolution: 1 degree latitude and longitude
• 6 depth levels
• 1 time step – Velocity
• 3 tetrahedralized versions:– Ocean (44K cells)– Ocean1 (356K cells)– Ocean2 (2854K cells)
Performance Analysis
Ocean Execution Time
048
12162024
4 8 16
Number of Processors
DPZSweep
NN
LQ
CD
Performance Analysis
Ocean1 Execution Time
06
121824303642
4 8 16
Number of Processors
DPZSweep
NN
LQ
CD
Performance Analysis
Ocean2 Execution Time
020406080
100120140160180200
4 8 16
Number of Processors
DPZSweep
NN
LQ
CD
Ocean Results
Conclusions
• Distributed parallel volume rendering for ocean datasets on cluster of PCs: – Dynamic load balancing – low overhead– Out-of-core execution– Portable and free software infrastructure
• Great reductions in execution time
• Allows ocean researchers to interactively visualize large volumes of 3D data
Future Work
• Fault-tolerance
• Grid execution
• Handheld interface
• Handling Time-varying data
For your attention.
Thank you
Load Balancing Algorithms
• Nearest Neighbor
Proc 1
Proc 0
Proc 2
Load Balancing Algorithms
• Nearest Neighbor
Proc 0
Proc 1
Proc 2
Load Balancing Algorithms
• Nearest Neighbor
Proc 0
Proc 1
Proc 2
Load Balancing Algorithms
• Nearest Neighbor
Proc 0
Proc 1
Proc 2
Load Balancing Algorithms
• Nearest Neighbor
Proc 0
Proc 1
Proc 2
Load Balancing Algorithms
• Longest Queue
Proc 0
Proc 1
Proc 2
Proc 352 3 3
Load Balancing Algorithms
• Longest Queue
Proc 0
Proc 1
Proc 2
Proc 352 3 3
Load Balancing Algorithms
• Longest Queue
Proc 0
Proc 1
Proc 2
Proc 352 3 3
Load Balancing Algorithms
• Longest Queue
Proc 0
Proc 1
Proc 2
Proc 352 3 3
Load Balancing Algorithms
• Circular Distribution
Load Balancing Algorithms
• Circular Distribution
Proc 0
Proc 1
Proc 2
Proc 35
2
8
3
Load Balancing Algorithms
• Circular Distribution
Proc 0
Proc 1
Proc 2
Proc 35
2
8
3
Load Balancing Algorithms
• Circular Distribution
Proc 0
Proc 1
Proc 2
Proc 35
2
8
3
Load Balancing Algorithms
• Circular Distribution
Proc 0
Proc 1
Proc 2
Proc 35
2
8
3
9