Parallel Visualization Kenneth Moreland Sandia National Laboratories Sandia is a multiprogram...

Post on 27-Mar-2015

222 views 4 download

Tags:

Transcript of Parallel Visualization Kenneth Moreland Sandia National Laboratories Sandia is a multiprogram...

Parallel Visualization

Kenneth Moreland

Sandia National LaboratoriesSandia is a multiprogram laboratory operated by

Sandia Corporation, a Lockheed Martin Company,for the United States Department of Energy’s

National Nuclear Security Administration under contract DE-AC04-94AL85000.

The Parallel Visualization Pipeline

Read

Isosurface

Reflect

Render

The Parallel Visualization Pipeline

Read

Isosurface

Reflect

Render

Read

Isosurface

Reflect

Render

Read

Isosurface

Reflect

Render

Read

Isosurface

Reflect

Render

Data Parallel Pipelines

• Duplicate pipelines run independently on different partitions of data.

Data Parallel Pipelines

• Duplicate pipelines run independently on different partitions of data.

Data Parallel Pipelines

• Some operations will work regardless.• Example: Clipping.

Data Parallel Pipelines

• Some operations will work regardless.• Example: Clipping.

Data Parallel Pipelines

• Some operations will work regardless.• Example: Clipping.

Data Parallel Pipelines

• Some operations will have problems.• Example: External Faces

Data Parallel Pipelines

• Some operations will have problems.• Example: External Faces

Data Parallel Pipelines

• Ghost cells can solve most of these problems.

Data Parallel Pipelines

• Ghost cells can solve most of these problems.

Data Partitioning

• Partitions should be load balanced and spatially coherent.

Data Partitioning

• Partitions should be load balanced and spatially coherent.

Data Partitioning

• Partitions should be load balanced and spatially coherent.

Load Balancing/Ghost Cells

• Automatic for Structured Meshes.• Partitioning/ghost cells for unstructured is “manual.”• Use the D3 filter for unstructured

• (Filters → Alphabetical → D3)

Partitioning on Spatial Structure: K-D Tree

K-D Trees Provide Query Structures

What elements are closest to here?

Reconstructing Connectivity Information

May not be unique.

Neighbor info usually missing.

The Parallel Visualization Pipeline

Read

Isosurface

Reflect

Render

Read

Isosurface

Reflect

Render

Read

Isosurface

Reflect

Render

Read

Isosurface

Reflect

Render

Parallel Rendering

Parallel Rendering

Tiled Displays

Rendering Translucent Geometry

Unstructured Volume Rendering in Parallel

Unstructured Volume Rendering in Parallel

Unstructured Volume Rendering in Parallel

Unstructured Volume Rendering in Parallel

Unstructured Volume Rendering in Parallel

Mesh Partitioning

K-D Trees Provide Query Structures

What is the visibility order of the regions from this viewpoint? 1

2 3

4

5 6

7

8

ParaView Architecture for Interactive Remote Parallel Visualization

• Three Tier• Data Server• Render Server• Client

Standalone

Client

DataServer

RenderServer

Client-Server

ClientData

ServerRenderServer

Socket

Client-Render Server-Data Server

ClientData

ServerRenderServer

Socket

Socket × N

Client-Server

ClientData

ServerRenderServer

Socket

Minimize CommunicationRender Remotely

Send Images

Rendering Modes

• Still Render• Full detail render.

• Interactive Render• Sacrifices detail for speed.• Provides quick rendering rate.• Used when interacting with 3D view.

Level of Detail (LOD)

• Geometric decimation.• Used only with Interactive Render

Original Data Divisions: 50x50x50 Divisions: 10x10x10

Image Size LOD

• ParaView’s parallel rendering overhead proportional to image size.• To speed up interactive rendering, ParaView can render smaller sized images and

inflate them.

Original Data Subsample Rate: 2 pixels Subsample Rate: 4 pixels Subsample Rate: 8 pixels

Color Depth LOD

• Squirt is used to transfer images from server to client.• Squirt is a run length encoder optimized for images.• Run lengths improved by masking out some color bits.

24-bit mask 19-bit mask 10-bit mask

Summary

• Most visualization algorithms are embarrassingly parallel.• Ghost cells can eliminate need for communication.

• Simulation dumps are often missing connectivity information.• Geometry sizes grow quickly, image sizes don’t.

• Sort-last rendering scales well in this regard.• Avoid bottlenecks caused by saturating any process with geometry.

• Remote interactivity is important.• Parallel resources are seldom local.

• Interactivity can be maintained with levels of detail.• Always be clear what you are using.• Make sure the full detail shows up eventually.