Parallel Volume Rendering for Ocean Visualization in a Cluster of PCs Alexandre Coelho Marcio...

46
Parallel 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/UER J Geomática/UER J Geomática/UER J

Transcript of Parallel Volume Rendering for Ocean Visualization in a Cluster of PCs Alexandre Coelho Marcio...

Page 1: Parallel Volume Rendering for Ocean Visualization in a Cluster of PCs Alexandre Coelho Marcio Nascimento Cristiana Bentes Maria Clicia S. de Castro Ricardo.

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

Page 2: Parallel Volume Rendering for Ocean Visualization in a Cluster of PCs Alexandre Coelho Marcio Nascimento Cristiana Bentes Maria Clicia S. de Castro Ricardo.

Outline

• Volume Visualization Overview

• Parallel Rendering System

• Experimental Results

• Conclusions

Page 3: Parallel Volume Rendering for Ocean Visualization in a Cluster of PCs Alexandre Coelho Marcio Nascimento Cristiana Bentes Maria Clicia S. de Castro Ricardo.

What is Volume Visualization?

• Volumetric data images

• 3D data 2D plane

• Gains:

– Understanding

– Visual analysis and interpretation

– Meaningful information

Page 4: Parallel Volume Rendering for Ocean Visualization in a Cluster of PCs Alexandre Coelho Marcio Nascimento Cristiana Bentes Maria Clicia S. de Castro Ricardo.

Volume Visualization Applications

• Medicine, Geology, Chemistry, Industry

• Geographical Information Systems

– Ocean Modeling

– Monitoring the atmospheric pollution

– Terrain Modeling

– Analyzing natural phenomena (cyclones)

Page 5: Parallel Volume Rendering for Ocean Visualization in a Cluster of PCs Alexandre Coelho Marcio Nascimento Cristiana Bentes Maria Clicia S. de Castro Ricardo.

Volumetric Data

• Generated:

– Sensors (CT scanner)

– Simulation (Fluid Dynamic)

– Measured Data (Ocean Buoys)

• Representation:

– 3D grid of voxels (Regular or Irregular)

Page 6: Parallel Volume Rendering for Ocean Visualization in a Cluster of PCs Alexandre Coelho Marcio Nascimento Cristiana Bentes Maria Clicia S. de Castro Ricardo.

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

Page 7: Parallel Volume Rendering for Ocean Visualization in a Cluster of PCs Alexandre Coelho Marcio Nascimento Cristiana Bentes Maria Clicia S. de Castro Ricardo.

Volume Visualization Methods

Surface Rendering Volume Renderingx

Page 8: Parallel Volume Rendering for Ocean Visualization in a Cluster of PCs Alexandre Coelho Marcio Nascimento Cristiana Bentes Maria Clicia S. de Castro Ricardo.

Volume Rendering Challenge

• Large scale 3D data

– Computational intensive

– Unacceptably long time on uniprocessors

Page 9: Parallel Volume Rendering for Ocean Visualization in a Cluster of PCs Alexandre Coelho Marcio Nascimento Cristiana Bentes Maria Clicia S. de Castro Ricardo.

Efficient Volume Rendering

• Parallel Processing

– Multiple processors:

• Parallel Machines

• Cluster of PCs

Page 10: Parallel Volume Rendering for Ocean Visualization in a Cluster of PCs Alexandre Coelho Marcio Nascimento Cristiana Bentes Maria Clicia S. de Castro Ricardo.

Parallel Volume Rendering

Clusters of PCs

• Low cost• High availability• Easy to update

Parallel Machines

• Good speedups • Expensive

Page 11: Parallel Volume Rendering for Ocean Visualization in a Cluster of PCs Alexandre Coelho Marcio Nascimento Cristiana Bentes Maria Clicia S. de Castro Ricardo.

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

Page 12: Parallel Volume Rendering for Ocean Visualization in a Cluster of PCs Alexandre Coelho Marcio Nascimento Cristiana Bentes Maria Clicia S. de Castro Ricardo.

Our goal

• Allows Visualization of Ocean Inner Structure

– Climate research

– Offshore industries

– Fishing and Mammal Management

Page 13: Parallel Volume Rendering for Ocean Visualization in a Cluster of PCs Alexandre Coelho Marcio Nascimento Cristiana Bentes Maria Clicia S. de Castro Ricardo.

The Parallel Rendering System

• DPZSweep

– Based on PZSweep• Sweeping plane paradigm• Projection of the faces in depth order

– Two modules:• Pre-processing• Parallel Rendering

Page 14: Parallel Volume Rendering for Ocean Visualization in a Cluster of PCs Alexandre Coelho Marcio Nascimento Cristiana Bentes Maria Clicia S. de Castro Ricardo.

The Parallel Rendering System

Grid Generation

Oceandata

Octree Creation

Irregular grid

Octree

Parallel Algorithm

Pre-processing

Parallel Rendering

Page 15: Parallel Volume Rendering for Ocean Visualization in a Cluster of PCs Alexandre Coelho Marcio Nascimento Cristiana Bentes Maria Clicia S. de Castro Ricardo.

Pre-Processing

• Grid Generation:– Latitude/Longitude data irregular grid

Page 16: Parallel Volume Rendering for Ocean Visualization in a Cluster of PCs Alexandre Coelho Marcio Nascimento Cristiana Bentes Maria Clicia S. de Castro Ricardo.

Pre-Processing

• Octree Creation:– Out-of-core execution

Octreefile

Page 17: Parallel Volume Rendering for Ocean Visualization in a Cluster of PCs Alexandre Coelho Marcio Nascimento Cristiana Bentes Maria Clicia S. de Castro Ricardo.

Parallel Rendering Algorithm

• Parallelization:– Breaking the screen into rectangles - tiles

Image portion that can be computed

independently

Page 18: Parallel Volume Rendering for Ocean Visualization in a Cluster of PCs Alexandre Coelho Marcio Nascimento Cristiana Bentes Maria Clicia S. de Castro Ricardo.

Parallel Rendering Algorithm

• Parallelization:– Breaking the screen into rectangles - tiles

Page 19: Parallel Volume Rendering for Ocean Visualization in a Cluster of PCs Alexandre Coelho Marcio Nascimento Cristiana Bentes Maria Clicia S. de Castro Ricardo.

Parallel Rendering Algorithm

• Tile distribution– Random assignment– Dynamic distribution

Page 20: Parallel Volume Rendering for Ocean Visualization in a Cluster of PCs Alexandre Coelho Marcio Nascimento Cristiana Bentes Maria Clicia S. de Castro Ricardo.

Parallel Rendering Algorithm

• Dynamic Load Balancing– Rebalance the work– Distributed information diffusion algorithms– Work stealing

Page 21: Parallel Volume Rendering for Ocean Visualization in a Cluster of PCs Alexandre Coelho Marcio Nascimento Cristiana Bentes Maria Clicia S. de Castro Ricardo.

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

Page 22: Parallel Volume Rendering for Ocean Visualization in a Cluster of PCs Alexandre Coelho Marcio Nascimento Cristiana Bentes Maria Clicia S. de Castro Ricardo.

Experimental Results

• Cluster:

– 16 processors

– 512M bytes

– Fast Ethernet 100Mbits/sec

– Linux 2.4.20

– MPI

Page 23: Parallel Volume Rendering for Ocean Visualization in a Cluster of PCs Alexandre Coelho Marcio Nascimento Cristiana Bentes Maria Clicia S. de Castro Ricardo.

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)

Page 24: Parallel Volume Rendering for Ocean Visualization in a Cluster of PCs Alexandre Coelho Marcio Nascimento Cristiana Bentes Maria Clicia S. de Castro Ricardo.

Performance Analysis

Ocean Execution Time

048

12162024

4 8 16

Number of Processors

DPZSweep

NN

LQ

CD

Page 25: Parallel Volume Rendering for Ocean Visualization in a Cluster of PCs Alexandre Coelho Marcio Nascimento Cristiana Bentes Maria Clicia S. de Castro Ricardo.

Performance Analysis

Ocean1 Execution Time

06

121824303642

4 8 16

Number of Processors

DPZSweep

NN

LQ

CD

Page 26: Parallel Volume Rendering for Ocean Visualization in a Cluster of PCs Alexandre Coelho Marcio Nascimento Cristiana Bentes Maria Clicia S. de Castro Ricardo.

Performance Analysis

Ocean2 Execution Time

020406080

100120140160180200

4 8 16

Number of Processors

DPZSweep

NN

LQ

CD

Page 27: Parallel Volume Rendering for Ocean Visualization in a Cluster of PCs Alexandre Coelho Marcio Nascimento Cristiana Bentes Maria Clicia S. de Castro Ricardo.

Ocean Results

Page 28: Parallel Volume Rendering for Ocean Visualization in a Cluster of PCs Alexandre Coelho Marcio Nascimento Cristiana Bentes Maria Clicia S. de Castro Ricardo.

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

Page 29: Parallel Volume Rendering for Ocean Visualization in a Cluster of PCs Alexandre Coelho Marcio Nascimento Cristiana Bentes Maria Clicia S. de Castro Ricardo.

Future Work

• Fault-tolerance

• Grid execution

• Handheld interface

• Handling Time-varying data

Page 30: Parallel Volume Rendering for Ocean Visualization in a Cluster of PCs Alexandre Coelho Marcio Nascimento Cristiana Bentes Maria Clicia S. de Castro Ricardo.

For your attention.

Thank you

Page 31: Parallel Volume Rendering for Ocean Visualization in a Cluster of PCs Alexandre Coelho Marcio Nascimento Cristiana Bentes Maria Clicia S. de Castro Ricardo.
Page 32: Parallel Volume Rendering for Ocean Visualization in a Cluster of PCs Alexandre Coelho Marcio Nascimento Cristiana Bentes Maria Clicia S. de Castro Ricardo.
Page 33: Parallel Volume Rendering for Ocean Visualization in a Cluster of PCs Alexandre Coelho Marcio Nascimento Cristiana Bentes Maria Clicia S. de Castro Ricardo.

Load Balancing Algorithms

• Nearest Neighbor

Proc 1

Proc 0

Proc 2

Page 34: Parallel Volume Rendering for Ocean Visualization in a Cluster of PCs Alexandre Coelho Marcio Nascimento Cristiana Bentes Maria Clicia S. de Castro Ricardo.

Load Balancing Algorithms

• Nearest Neighbor

Proc 0

Proc 1

Proc 2

Page 35: Parallel Volume Rendering for Ocean Visualization in a Cluster of PCs Alexandre Coelho Marcio Nascimento Cristiana Bentes Maria Clicia S. de Castro Ricardo.

Load Balancing Algorithms

• Nearest Neighbor

Proc 0

Proc 1

Proc 2

Page 36: Parallel Volume Rendering for Ocean Visualization in a Cluster of PCs Alexandre Coelho Marcio Nascimento Cristiana Bentes Maria Clicia S. de Castro Ricardo.

Load Balancing Algorithms

• Nearest Neighbor

Proc 0

Proc 1

Proc 2

Page 37: Parallel Volume Rendering for Ocean Visualization in a Cluster of PCs Alexandre Coelho Marcio Nascimento Cristiana Bentes Maria Clicia S. de Castro Ricardo.

Load Balancing Algorithms

• Nearest Neighbor

Proc 0

Proc 1

Proc 2

Page 38: Parallel Volume Rendering for Ocean Visualization in a Cluster of PCs Alexandre Coelho Marcio Nascimento Cristiana Bentes Maria Clicia S. de Castro Ricardo.

Load Balancing Algorithms

• Longest Queue

Proc 0

Proc 1

Proc 2

Proc 352 3 3

Page 39: Parallel Volume Rendering for Ocean Visualization in a Cluster of PCs Alexandre Coelho Marcio Nascimento Cristiana Bentes Maria Clicia S. de Castro Ricardo.

Load Balancing Algorithms

• Longest Queue

Proc 0

Proc 1

Proc 2

Proc 352 3 3

Page 40: Parallel Volume Rendering for Ocean Visualization in a Cluster of PCs Alexandre Coelho Marcio Nascimento Cristiana Bentes Maria Clicia S. de Castro Ricardo.

Load Balancing Algorithms

• Longest Queue

Proc 0

Proc 1

Proc 2

Proc 352 3 3

Page 41: Parallel Volume Rendering for Ocean Visualization in a Cluster of PCs Alexandre Coelho Marcio Nascimento Cristiana Bentes Maria Clicia S. de Castro Ricardo.

Load Balancing Algorithms

• Longest Queue

Proc 0

Proc 1

Proc 2

Proc 352 3 3

Page 42: Parallel Volume Rendering for Ocean Visualization in a Cluster of PCs Alexandre Coelho Marcio Nascimento Cristiana Bentes Maria Clicia S. de Castro Ricardo.

Load Balancing Algorithms

• Circular Distribution

Page 43: Parallel Volume Rendering for Ocean Visualization in a Cluster of PCs Alexandre Coelho Marcio Nascimento Cristiana Bentes Maria Clicia S. de Castro Ricardo.

Load Balancing Algorithms

• Circular Distribution

Proc 0

Proc 1

Proc 2

Proc 35

2

8

3

Page 44: Parallel Volume Rendering for Ocean Visualization in a Cluster of PCs Alexandre Coelho Marcio Nascimento Cristiana Bentes Maria Clicia S. de Castro Ricardo.

Load Balancing Algorithms

• Circular Distribution

Proc 0

Proc 1

Proc 2

Proc 35

2

8

3

Page 45: Parallel Volume Rendering for Ocean Visualization in a Cluster of PCs Alexandre Coelho Marcio Nascimento Cristiana Bentes Maria Clicia S. de Castro Ricardo.

Load Balancing Algorithms

• Circular Distribution

Proc 0

Proc 1

Proc 2

Proc 35

2

8

3

Page 46: Parallel Volume Rendering for Ocean Visualization in a Cluster of PCs Alexandre Coelho Marcio Nascimento Cristiana Bentes Maria Clicia S. de Castro Ricardo.

Load Balancing Algorithms

• Circular Distribution

Proc 0

Proc 1

Proc 2

Proc 35

2

8

3

9