Title: Parallel Volume Rendering for Ocean Visualization in a Cluster of PCs
1Parallel Volume Rendering for Ocean Visualization
in a Cluster of PCs
- Alexandre Coelho
- Marcio Nascimento
- Cristiana Bentes
- Maria Clicia S. de Castro
- Ricardo Farias
Geomática/UERJ Geomática/UERJ
Geomática/UERJ IME/UERJ COPPE/UFRJ
2Outline
- Volume Visualization Overview
- Parallel Rendering System
- Experimental Results
- Conclusions
3What is Volume Visualization?
- Volumetric data ? images
- 3D data ? 2D plane
- Gains
- Understanding
- Visual analysis and interpretation
- Meaningful information
4Volume Visualization Applications
- Medicine, Geology, Chemistry, Industry
- Geographical Information Systems
- Ocean Modeling
- Monitoring the atmospheric pollution
- Terrain Modeling
- Analyzing natural phenomena (cyclones)
5Volumetric Data
- Generated
- Sensors (CT scanner)
- Simulation (Fluid Dynamic)
- Measured Data (Ocean Buoys)
- Representation
- 3D grid of voxels (Regular or Irregular)
6Volume 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
7Volume Visualization Methods
Surface Rendering
Volume Rendering
x
8Volume Rendering Challenge
- Large scale 3D data
- Computational intensive
- Unacceptably long time on uniprocessors
9Efficient Volume Rendering
- Parallel Processing
- Multiple processors
- Parallel Machines
- Cluster of PCs
10Parallel Volume Rendering
Parallel Machines
- Low cost
- High availability
- Easy to update
11Our goal
- Parallel Volume Rendering System for Ocean
Visualization - Efficient and scalable
- Low-cost
- All software implementation
- Portable and Free software
- Out-of-core execution
12Our goal
- Allows Visualization of Ocean Inner Structure
- Climate research
- Offshore industries
- Fishing and Mammal Management
13The Parallel Rendering System
- DPZSweep
- Based on PZSweep
- Sweeping plane paradigm
- Projection of the faces in depth order
- Two modules
- Pre-processing
- Parallel Rendering
14The Parallel Rendering System
Pre-processing
Parallel Rendering
Grid Generation
Irregular grid
Octree Creation
Parallel Algorithm
Ocean data
Octree
15Pre-Processing
- Grid Generation
- Latitude/Longitude data ? irregular grid
16Pre-Processing
- Octree Creation
- Out-of-core execution
17Parallel Rendering Algorithm
- Parallelization
- Breaking the screen into rectangles - tiles
Image portion that can be computed independently
18Parallel Rendering Algorithm
- Parallelization
- Breaking the screen into rectangles - tiles
19Parallel Rendering Algorithm
- Tile distribution
- Random assignment
- Dynamic distribution
20Parallel Rendering Algorithm
- Dynamic Load Balancing
- Rebalance the work
- Distributed information diffusion algorithms
- Work stealing
21Load 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
22Experimental Results
- Cluster
- 16 processors
- 512M bytes
- Fast Ethernet 100Mbits/sec
- Linux 2.4.20
- MPI
23Ocean 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)
24Performance Analysis
25Performance Analysis
26Performance Analysis
27Ocean Results
28Conclusions
- 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
29Future Work
- Fault-tolerance
- Grid execution
- Handheld interface
- Handling Time-varying data
30Thank you
For your attention.
31(No Transcript)
32(No Transcript)
33Load Balancing Algorithms
34Load Balancing Algorithms
Proc 1
Proc 0
Proc 2
35Load Balancing Algorithms
Proc 1
Proc 0
Proc 2
36Load Balancing Algorithms
Proc 1
Proc 0
Proc 2
37Load Balancing Algorithms
Proc 1
Proc 0
Proc 2
38Load Balancing Algorithms
39Load Balancing Algorithms
Proc 1
Proc 2
Proc 0
Proc 3
40Load Balancing Algorithms
Proc 1
Proc 2
Proc 0
Proc 3
41Load Balancing Algorithms
Proc 1
Proc 2
Proc 0
Proc 3
42Load Balancing Algorithms
43Load Balancing Algorithms
Proc 1
Proc 2
3
Proc 0
5
Proc 3
2
44Load Balancing Algorithms
Proc 1
Proc 2
3
8
Proc 0
5
Proc 3
2
45Load Balancing Algorithms
Proc 1
Proc 2
3
8
Proc 0
5
Proc 3
2
46Load Balancing Algorithms
Proc 1
Proc 2
3
8
Proc 0
5
Proc 3
2