paraview workshop: distributed visualization samar aseeri, ksl madhu srinivasan, kvl

55
Paraview Workshop: Distributed Visualization Samar Aseeri, KSL Madhu Srinivasan, KVL

Upload: garry-greene

Post on 27-Dec-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Paraview Workshop: Distributed Visualization Samar Aseeri, KSL Madhu Srinivasan, KVL

Paraview Workshop:Distributed Visualization

Samar Aseeri, KSL

Madhu Srinivasan, KVL

Page 2: Paraview Workshop: Distributed Visualization Samar Aseeri, KSL Madhu Srinivasan, KVL

Visualization Allows Us to “See” the Science

Application Render

Geometric Primitives PixelsRaw Data

01001101011001

11001010010101

00101010100110

11101101011011

00110010111010

Page 3: Paraview Workshop: Distributed Visualization Samar Aseeri, KSL Madhu Srinivasan, KVL

But what about large, distributed data?01001101011001 01001101011001

11001010010101 11001010010101

00101010100110 00101010100110

11101101011011 11101101011011

00110010111010 00110010111010

01001101011001 01001101011001

11001010010101 11001010010101

00101010100110 00101010100110

11101101011011 11101101011011

00110010111010 00110010111010

01001101011001 01001101011001

11001010010101 11001010010101

00101010100110 00101010100110

11101101011011 11101101011011

00110010111010 00110010111010

01001101011001 01001101011001

11001010010101 11001010010101

00101010100110 00101010100110

11101101011011 11101101011011

00110010111010 00110010111010

01001101011001 01001101011001

11001010010101 11001010010101

00101010100110 00101010100110

11101101011011 11101101011011

00110010111010 00110010111010

01001101011001 01001101011001

11001010010101 11001010010101

00101010100110 00101010100110

11101101011011 11101101011011

00110010111010 00110010111010

Page 4: Paraview Workshop: Distributed Visualization Samar Aseeri, KSL Madhu Srinivasan, KVL

Or distributed rendering?

01001101011001

11001010010101

00101010100110

11101101011011

00110010111010

Page 5: Paraview Workshop: Distributed Visualization Samar Aseeri, KSL Madhu Srinivasan, KVL

Or distributed displays?

01001101011001

11001010010101

00101010100110

11101101011011

00110010111010

Page 6: Paraview Workshop: Distributed Visualization Samar Aseeri, KSL Madhu Srinivasan, KVL

Or all three?01001101011001 01001101011001

11001010010101 11001010010101

00101010100110 00101010100110

11101101011011 11101101011011

00110010111010 00110010111010

01001101011001 01001101011001

11001010010101 11001010010101

00101010100110 00101010100110

11101101011011 11101101011011

00110010111010 00110010111010

01001101011001 01001101011001

11001010010101 11001010010101

00101010100110 00101010100110

11101101011011 11101101011011

00110010111010 00110010111010

01001101011001 01001101011001

11001010010101 11001010010101

00101010100110 00101010100110

11101101011011 11101101011011

00110010111010 00110010111010

01001101011001 01001101011001

11001010010101 11001010010101

00101010100110 00101010100110

11101101011011 11101101011011

00110010111010 00110010111010

01001101011001 01001101011001

11001010010101 11001010010101

00101010100110 00101010100110

11101101011011 11101101011011

00110010111010 00110010111010

Page 7: Paraview Workshop: Distributed Visualization Samar Aseeri, KSL Madhu Srinivasan, KVL

Visualization Scaling Challenges

• Moving data to the visualization machine

• Most applications built for shared memory machines, not distributed clusters

• Image resolution limits in some software cannot capture feature details

• Displays cannot show entire high-resolution images at their native resolution

Page 8: Paraview Workshop: Distributed Visualization Samar Aseeri, KSL Madhu Srinivasan, KVL

Visualization scales with HPC• Large data produced by large

simulations require large visualization machines and produce large visualization results

Terabytes of Data

AT LEASTTerabytes

of Vis

Gigapixel Images

Resampling, Application,

Resolution to Capture

Feature Detail

Page 9: Paraview Workshop: Distributed Visualization Samar Aseeri, KSL Madhu Srinivasan, KVL

Moving Data

• How long can you wait?

File Size 10 Gbps 54 Mbps

1 GB 1 sec 2.5 min

1 TB ~17 min ~43 hours

1 PB ~12 days ~5 years

Page 10: Paraview Workshop: Distributed Visualization Samar Aseeri, KSL Madhu Srinivasan, KVL

Analyzing Data• Visualization programs only beginning to

efficiently handle ultrascale data– 650 GB dataset -> 3 TB memory footprint– Allocate HPC nodes for RAM not cores– N-1 idle processors per node!

• Stability across many distributed nodes– Rendering clusters typically number N <= 64– Data must be dividable onto N cores

Remember this when resampling!

Page 11: Paraview Workshop: Distributed Visualization Samar Aseeri, KSL Madhu Srinivasan, KVL

ParaView Architecture•Three tier

–Data Server–Render Server–Client

Page 12: Paraview Workshop: Distributed Visualization Samar Aseeri, KSL Madhu Srinivasan, KVL

Standalone

Client

DataServer

RenderServer

Page 13: Paraview Workshop: Distributed Visualization Samar Aseeri, KSL Madhu Srinivasan, KVL

Client-Server

ClientData

ServerRenderServer

Page 14: Paraview Workshop: Distributed Visualization Samar Aseeri, KSL Madhu Srinivasan, KVL

01001101011001 01001101011001

11001010010101 11001010010101

00101010100110 00101010100110

11101101011011 11101101011011

00110010111010 00110010111010

01001101011001 01001101011001

11001010010101 11001010010101

00101010100110 00101010100110

11101101011011 11101101011011

00110010111010 00110010111010

01001101011001 01001101011001

11001010010101 11001010010101

00101010100110 00101010100110

11101101011011 11101101011011

00110010111010 00110010111010

01001101011001 01001101011001

11001010010101 11001010010101

00101010100110 00101010100110

11101101011011 11101101011011

00110010111010 00110010111010

01001101011001 01001101011001

11001010010101 11001010010101

00101010100110 00101010100110

11101101011011 11101101011011

00110010111010 00110010111010

01001101011001 01001101011001

11001010010101 11001010010101

00101010100110 00101010100110

11101101011011 11101101011011

00110010111010 00110010111010

Raw Data Geometry

Pixels

Client-Server

ClientData

ServerRenderServer

Page 15: Paraview Workshop: Distributed Visualization Samar Aseeri, KSL Madhu Srinivasan, KVL

Client-Render Server-Data Server

ClientData

ServerRenderServer

Page 16: Paraview Workshop: Distributed Visualization Samar Aseeri, KSL Madhu Srinivasan, KVL

01001101011001 01001101011001

11001010010101 11001010010101

00101010100110 00101010100110

11101101011011 11101101011011

00110010111010 00110010111010

01001101011001 01001101011001

11001010010101 11001010010101

00101010100110 00101010100110

11101101011011 11101101011011

00110010111010 00110010111010

01001101011001 01001101011001

11001010010101 11001010010101

00101010100110 00101010100110

11101101011011 11101101011011

00110010111010 00110010111010

01001101011001 01001101011001

11001010010101 11001010010101

00101010100110 00101010100110

11101101011011 11101101011011

00110010111010 00110010111010

01001101011001 01001101011001

11001010010101 11001010010101

00101010100110 00101010100110

11101101011011 11101101011011

00110010111010 00110010111010

01001101011001 01001101011001

11001010010101 11001010010101

00101010100110 00101010100110

11101101011011 11101101011011

00110010111010 00110010111010

Raw Data Geometry

Pixels

Client-Render Server-Data Server

ClientData

ServerRenderServer

Page 17: Paraview Workshop: Distributed Visualization Samar Aseeri, KSL Madhu Srinivasan, KVL

Requirements forInstalling ParaView Server

•C++•CMake (www.cmake.org)•MPI•OpenGL (or Mesa3D www.mesa3d.org)•Qt 4.6 (optional)•Python (optional)• http://www.paraview.org/Wiki/Setting_up_a_ParaView_Server#Compiling

Page 18: Paraview Workshop: Distributed Visualization Samar Aseeri, KSL Madhu Srinivasan, KVL

Connecting to a ParaView Server

http://www.paraview.org/Wiki/Setting_up_a_ParaView_Server#Running_the_Server

DEMO

Page 19: Paraview Workshop: Distributed Visualization Samar Aseeri, KSL Madhu Srinivasan, KVL

Data Parallel Pipelines•Duplicate pipelines run independently on different partitions of data.

Page 20: Paraview Workshop: Distributed Visualization Samar Aseeri, KSL Madhu Srinivasan, KVL

Data Parallel Pipelines•Duplicate pipelines run independently on different partitions of data.

Page 21: Paraview Workshop: Distributed Visualization Samar Aseeri, KSL Madhu Srinivasan, KVL

Data Parallel Pipelines•Some operations will work regardless.

–Example: Clipping.

Page 22: Paraview Workshop: Distributed Visualization Samar Aseeri, KSL Madhu Srinivasan, KVL

Data Parallel Pipelines•Some operations will work regardless.

–Example: Clipping.

Page 23: Paraview Workshop: Distributed Visualization Samar Aseeri, KSL Madhu Srinivasan, KVL

Data Parallel Pipelines•Some operations will work regardless.

–Example: Clipping.

Page 24: Paraview Workshop: Distributed Visualization Samar Aseeri, KSL Madhu Srinivasan, KVL

Data Parallel Pipelines•Some operations will have problems.

–Example: External Faces

Page 25: Paraview Workshop: Distributed Visualization Samar Aseeri, KSL Madhu Srinivasan, KVL

Data Parallel Pipelines•Some operations will have problems.

–Example: External Faces

Page 26: Paraview Workshop: Distributed Visualization Samar Aseeri, KSL Madhu Srinivasan, KVL

Data Parallel Pipelines•Ghost cells can solve most of these problems.

Page 27: Paraview Workshop: Distributed Visualization Samar Aseeri, KSL Madhu Srinivasan, KVL

Data Parallel Pipelines•Ghost cells can solve most of these problems.

Page 28: Paraview Workshop: Distributed Visualization Samar Aseeri, KSL Madhu Srinivasan, KVL

Data Partitioning•Partitions should be load balanced and spatially coherent.

Page 29: Paraview Workshop: Distributed Visualization Samar Aseeri, KSL Madhu Srinivasan, KVL

Data Partitioning•Partitions should be load balanced and spatially coherent.

Page 30: Paraview Workshop: Distributed Visualization Samar Aseeri, KSL Madhu Srinivasan, KVL

Data Partitioning•Partitions should be load balanced and spatially coherent.

Page 31: Paraview Workshop: Distributed Visualization Samar Aseeri, KSL Madhu Srinivasan, KVL

Load Balancing/Ghost Cells•Automatic for Structured Meshes.•Partitioning/ghost cells for unstructured is “manual.”

•Use the D3 filter for unstructured– (Filters → Alphabetical → D3)

Page 32: Paraview Workshop: Distributed Visualization Samar Aseeri, KSL Madhu Srinivasan, KVL

Job Size Rules of Thumb•Structured Data

–Try for max 20 M cell/processor.–Shoot for 5 – 10 M cell/processor.

•Unstructured Data–Try for max 1 M cell/processor.–Shoot for 250 – 500 K cell/processor.

Page 33: Paraview Workshop: Distributed Visualization Samar Aseeri, KSL Madhu Srinivasan, KVL

Avoiding Data Explosion•Pipeline may cause data to be copied, created, converted.

•This advice only for dealing with very large amounts of data.–Remaining available memory is low.

Page 34: Paraview Workshop: Distributed Visualization Samar Aseeri, KSL Madhu Srinivasan, KVL

Topology Changing, No Reduction• Append Datasets• Append Geometry• Clean• Clean to Grid• Connectivity• D3• Delaunay 2D/3D• Extract Edges• Linear Extrusion• Loop Subdivision

• Reflect• Rotational Extrusion• Shrink• Smooth• Subdivide• Tessellate• Tetrahedralize• Triangle Strips• Triangulate

Page 35: Paraview Workshop: Distributed Visualization Samar Aseeri, KSL Madhu Srinivasan, KVL

Topology Changing,Moderate Reduction

•Clip •Decimate•Extract Cells by Region

•Extract Selection•Quadric Clustering•Threshold

Similar: Extract Subset

Page 36: Paraview Workshop: Distributed Visualization Samar Aseeri, KSL Madhu Srinivasan, KVL

Topology Changing,Dimension Reduction

•Cell Centers•Contour •Extract CTH Fragments•Extract CTH Parts•Extract Surface

•Feature Edges•Mask Points•Outline (curvilinear)•Slice •Stream Tracer

Page 37: Paraview Workshop: Distributed Visualization Samar Aseeri, KSL Madhu Srinivasan, KVL

Adds Field Data• Block Scalars• Calculator • Cell Data to Point Data• Compute Derivatives• Curvature• Elevation• Generate Ids• Gen. Surface Normals• Gradient• Level Scalars• Median• Mesh Quality

• Octree Depth Limit• Octree Depth Scalars• Point Data to Cell Data• Process Id Scalars• Random Vectors• Resample with dataset• Surface Flow• Surface Vectors• Texture Map to…• Transform• Warp (scalar)• Warp (vector)

Page 38: Paraview Workshop: Distributed Visualization Samar Aseeri, KSL Madhu Srinivasan, KVL

Total Shallow Copy orOutput Independent of Input

• Annotate Time• Append Attributes• Extract Block• Extract Datasets• Extract Level • Glyph • Group Datasets • Histogram• Integrate Variables• Normal Glyphs• Outline

• Outline Corners• Plot Global Variables Over Time• Plot Over Line• Plot Selection Over Time• Probe Location• Temporal Shift Scale• Temporal Snap-to-Time-Steps• Temporal Statistics

Page 39: Paraview Workshop: Distributed Visualization Samar Aseeri, KSL Madhu Srinivasan, KVL

Special Cases•Temporal Filters

–Temporal Interpolator–Particle Tracer–Temporal Cache

•Programmable Filter

Page 40: Paraview Workshop: Distributed Visualization Samar Aseeri, KSL Madhu Srinivasan, KVL

Tips: Culling Data•Reduce dimensionality early.

–Contour and slice “see” inside volumes.•Prefer data reduction over extraction.

–Slice instead of Clip.–Contour instead of Threshold.

•Only extract when reducing an order of magnitude or more.–Can still run into troubles.

Page 41: Paraview Workshop: Distributed Visualization Samar Aseeri, KSL Madhu Srinivasan, KVL

Tips: Culling Data•Experiment with subsampled data.

–Extract Subset•Use caution.

–Subsampled data may be lacking.–Use full data to draw final conclusions.

Page 42: Paraview Workshop: Distributed Visualization Samar Aseeri, KSL Madhu Srinivasan, KVL

Memory Inspector

Page 43: Paraview Workshop: Distributed Visualization Samar Aseeri, KSL Madhu Srinivasan, KVL

Rendering Modes•Still Render

–Full detail render.•Interactive Render

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

Page 44: Paraview Workshop: Distributed Visualization Samar Aseeri, KSL Madhu Srinivasan, KVL

Level of Detail (LOD)•Geometric decimation•Used only with Interactive Render

Original Data Divisions: 50x50x50 Divisions: 10x10x10

Page 45: Paraview Workshop: Distributed Visualization Samar Aseeri, KSL Madhu Srinivasan, KVL

3D Rendering ParametersEdit → Settings, Render View → General

Page 46: Paraview Workshop: Distributed Visualization Samar Aseeri, KSL Madhu Srinivasan, KVL

Parallel Rendering

Page 47: Paraview Workshop: Distributed Visualization Samar Aseeri, KSL Madhu Srinivasan, KVL

Parallel Rendering

Page 48: Paraview Workshop: Distributed Visualization Samar Aseeri, KSL Madhu Srinivasan, KVL

Tiled Displays

Page 49: Paraview Workshop: Distributed Visualization Samar Aseeri, KSL Madhu Srinivasan, KVL

Image Size LOD•ParaView’s parallel rendering overhead proportional to image size.

•Can use smaller images for interactive rendering.

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

Page 50: Paraview Workshop: Distributed Visualization Samar Aseeri, KSL Madhu Srinivasan, KVL

Parallel Rendering ParametersEdit → Settings, Render View → Server

Page 51: Paraview Workshop: Distributed Visualization Samar Aseeri, KSL Madhu Srinivasan, KVL

Parameters for Large Data•Use Immediate Mode Rendering off for GPU, on for CPU.

•Try LOD Threshold off.–Also try LOD Resolution 10x10x10.

•Always have remote rendering on.•Turn on subsampling.•Image Compression on.

Page 52: Paraview Workshop: Distributed Visualization Samar Aseeri, KSL Madhu Srinivasan, KVL

Parameters for Low Bandwidth•Try larger subsampling rates.•Try Zlib compression and fewer bits.

Page 53: Paraview Workshop: Distributed Visualization Samar Aseeri, KSL Madhu Srinivasan, KVL

Parameters for High Latency•Turn up Remote Render Threshold.•Turn on Use outline for LOD rendering if necessary.

•Play with the LOD Threshold and LOD Resolution to control geometry sent to client.

•Try turning on Lock Interactive Render.

Page 54: Paraview Workshop: Distributed Visualization Samar Aseeri, KSL Madhu Srinivasan, KVL

Summary• Challenges at every stage

of visualization when operating on large data

• Partial solutions exist, though not integrated

• Problem sizes continue to grow at every stage

• Vis software community must keep pace with hardware innovations

Page 55: Paraview Workshop: Distributed Visualization Samar Aseeri, KSL Madhu Srinivasan, KVL

Thank you !