• No results found

A Steering Environment for Online Parallel Visualization of Legacy Parallel Simulations

N/A
N/A
Protected

Academic year: 2021

Share "A Steering Environment for Online Parallel Visualization of Legacy Parallel Simulations"

Copied!
25
0
0

Loading.... (view fulltext now)

Full text

(1)

A Steering Environment for Online Parallel Visualization

of Legacy Parallel Simulations

Aurélien Esnard, Nicolas Richart and Olivier Coulaud

ACI GRID EPSN (French Ministry of Research Initiative) ScAlApplix Project at INRIA Futurs LaBRI and University of Bordeaux 1

DS-RT 2006 Torremolinos, Malaga, Spain.

(2)

Outline

1 Introduction

Computational Steering Related Works

2 The EPSN Framework

Overview & Architecture

Redistribution Algorithm for Unstructured Data Online Parallel Visualization with EPSN

3 Results

Case Study: The Gadget2 Cosmological Simulation

(3)

Outline

1 Introduction

Computational Steering

Related Works

2 The EPSN Framework

Overview & Architecture

Redistribution Algorithm for Unstructured Data Online Parallel Visualization with EPSN

3 Results

(4)

Numerical Simulations and Computational Steering

Visualization as post-processing step (batch mode)

→tedious, lack of control over the in-progress computations

Computational steering as a more interactive approach

→coupling simulation and visualization through the network

Online visualization of intermediate results (monitoring) Change simulation parameters or data on-the-fly (steering)

Visualization Parallel Simulation (M processes) Network Steering Monitoring

Drive the simulation more rapidly in the right-direction

(5)

M

×

N Computational Steering

Online visualization requires performance

→process large and complex datasets, display results with high-resolution, ... To avoid the bottleneck of sequential visualization

→idea: use of parallelism for both the simulation (M) and the visualization (N) An attractive approach both in terms of cost and performance

→parallel visualization and parallel rendering with a PC-based graphics cluster

Parallel Simulation (M processes) Parallel Visualization (N processes) Network Steering Data Redistribution 00000 00000 00000 00000 00000 00000 00000 11111 11111 11111 11111 11111 11111 11111 0000 0000 0000 0000 1111 1111 1111 1111 00000 00000 00000 11111 11111 11111 00000 00000 00000 00000 00000 00000 11111 11111 11111 11111 11111 11111 0000 0000 0000 0000 1111 1111 1111 1111 00000 00000 00000 11111 11111 11111 00000 00000 00000 00000 00000 00000 00000 11111 11111 11111 11111 11111 11111 11111 0000 0000 0000 0000 1111 1111 1111 1111 00000 00000 00000 11111 11111 11111 00000 00000 00000 00000 00000 00000 11111 11111 11111 11111 11111 11111 0000 0000 0000 0000 1111 1111 1111 1111 00000 00000 00000 11111 11111 11111 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

(6)

Outline

1 Introduction

Computational Steering

Related Works

2 The EPSN Framework

Overview & Architecture

Redistribution Algorithm for Unstructured Data Online Parallel Visualization with EPSN

3 Results

Case Study: The Gadget2 Cosmological Simulation

(7)

Related Works

Most of steering environments (CUMULVS, DAQV, ...)

support parallel simulations (shared-memory, distributed-memory) but only with sequential visualization systems

Some recent works

gViz: distributed modules (simulation, visualization, rendering)

→visualization and rendering modules are still sequential

SCIRun/Uintah PSE: parallel visualization module

→but only running in shared-memory (no redistribution problem)

Our steering environment, EPSN

Steering of parallel simulations with parallel visualization tools in

(8)

Outline

1 Introduction

Computational Steering Related Works

2 The EPSN Framework

Overview & Architecture

Redistribution Algorithm for Unstructured Data Online Parallel Visualization with EPSN

3 Results

Case Study: The Gadget2 Cosmological Simulation

(9)

Overview of the EPSN Framework

A software environment for M×N computational steering

Legacy parallel simulations (C, C++ or Fortran) Sequential or parallel visualization program

Integration of legacy simulations

Source-code annotations with the EPSN back-end API Abstract model to describe the simulation

→Description of its control-flow: Hierarchical Task Model (HTM)

→Description of its data: complex objects (grids, particles, meshes)

This model intends to clarify where, when and how one can safely interact with the simulation

(10)

Architecture of the EPSN Framework

Client/server relationship (simulation = server ; visualization = client) Dynamic and distributed infrastructure

→several clients can connect and disconnect a remote simulation on-the-fly

Communication infrastructure based on CORBA

→CORBA server running on each node + proxy

Steering of the simulation is based on requests sent by clients →control (play, pause), data access (get, put), action

request process EPSN thread data HTM Port EPSN Port EPSN Port EPSN Port EPSN EPSN PROXY EPSN PROXY XML Port EPSN P0 Port EPSN P1 Port EPSN P8 Port EPSN P9 external communication layer (MPI, PVM, ...)

external communication layer (MPI, PVM, ...) CORBA

CORBA

Q0 Q1 Q2 Q3

parallel visualization

parallel data transfer MxN redistribution

parallel simulation

(11)

Architecture of the EPSN Framework

request process EPSN thread data HTM Port EPSN Port EPSN Port EPSN Port EPSN EPSN PROXY EPSN PROXY XML Port EPSN P0 Port EPSN P1 Port EPSN P8 Port EPSN P9 external communication layer (MPI, PVM, ...)

external communication layer (MPI, PVM, ...) CORBA

CORBA

Q0 Q1 Q2 Q3

parallel visualization

parallel data transfer MxN redistribution

(12)

Simone (Simulation Monitoring Interface for EPSN)

A generic user interface for EPSN to easily interact with your simulation

Visualisation Plugins Hierarchical Task Model

Current Date

Data Sheet Request Panel (Control and Data Access)

List of Connected Simulations List of Simulation Data

Simone connected to the Parallel Ocean Program (POP) of the LANL

(13)

Outline

1 Introduction

Computational Steering Related Works

2 The EPSN Framework Overview & Architecture

Redistribution Algorithm for Unstructured Data

Online Parallel Visualization with EPSN

3 Results

(14)

Redistribution Layer: Placement Approach

A redistribution algorithm that is well adapted to the context of M×N computational steering

M6=N, different data

distributions between codes Data distribution not initially defined on the visualization side

The redistribution layer can choose it at run-time “in the best way”

Placement problem of the simulation elements to the N visualization processes Message generation requires to define a split operator for the object you consider

00 00 00 00 00 00 00 00 11 11 11 11 11 11 11 11 00 00 00 00 00 00 00 00 11 11 11 11 11 11 11 11 00 00 00 11 11 11 00 00 00 00 00 00 11 11 11 11 11 11 00 00 00 11 11 11 00 00 00 00 00 00 11 11 11 11 11 11 00 00 00 00 00 11 11 11 11 11 00 00 00 00 00 00 00 00 00 00 11 11 11 11 11 11 11 11 11 11 00 00 00 00 00 00 00 00 00 00 11 11 11 11 11 11 11 11 11 11 00 00 00 00 00 11 11 11 11 11 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 00 00 00 00 00 00 00 00 11 11 11 11 11 11 11 11 00 00 00 00 00 00 00 00 11 11 11 11 11 11 11 11 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 00 00 00 00 00 00 00 00 11 11 11 11 11 11 11 11 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 00 00 00 00 00 00 00 00 11 11 11 11 11 11 11 11 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 Code A (M = 4) Code B (N = 3) Code A (M = 4) Code B (N = 2)

(a) Simple Case (b) More Complex Case

A very generic approach that is used by EPSN for different kinds of objects (structured grids, particles, unstructured meshes)

(15)

Outline

1 Introduction

Computational Steering Related Works

2 The EPSN Framework Overview & Architecture

Redistribution Algorithm for Unstructured Data

Online Parallel Visualization with EPSN

3 Results

(16)

Preliminary Notions about Visualization

The classical visualization pipeline

Source Filters Mapper

Display Renderer

Data File

Parallel visualization

→the pipeline is fully replicated on each node of the graphics cluster and data are distributed on these nodes

Parallel rendering techniques

→enable to combine the capabilities of several graphics cards to produce the final

image (e.g. sort-last algorithm)

Node 0 Node 1

Node 2 Node 3

Image Composition

(17)

Online Parallel Visualization with EPSN

The different steps required to perform online parallel visualization with EPSN:

Data reception by EPSN sources (step 1) Pipeline update request (steps 2-3)

Parallel rendering (step 4), image composition (step 5) and display (step 6) Acknowledgement of the simulation to signal the image update (steps 7-8)

Loop Simulation

Proxy Parallel ViewerProxy

Loop Loop Loop Loop

EPSN

Source Filters Mapper Renderer Visualization pipeline

(8) Ack

EPSN

Source Filters Mapper Renderer Visualization pipeline

Loop SourceEPSN Filters Mapper Renderer

Visualization pipeline

Loop

EPSN communication layer (CORBA) VTK communication layer (MPI) VTK pipeline in process memory

EPSN

Source Filters Mapper Renderer Visualization pipeline

Loop

task1 task2 task3

(6) Display (4) Render (7) Post−Ack (2) Pre−Ack (5) Composition (3) Update (1) Data Reception

(18)

The EPSN Software

EPSN framework

2 libraries: simulation side & visualization side Written in C++ (bindings for C/Fortran codes)

OmniORB4: high-performance implementation of CORBA

The redistribution layer is packaged in an independant library called RedGRID

Parallel viewer

Parallel visualization based on VTK (Visualization ToolKit)

Parallel rendering on TDW thanks to Ice-T library developed at Sandia

RedGRID and EPSN are available at INRIA Gforge (LGPL)

→redgrid.gforge.inria.fr

→epsn.gforge.inria.fr,www.labri.fr/epsn

(19)

Outline

1 Introduction

Computational Steering Related Works

2 The EPSN Framework

Overview & Architecture

Redistribution Algorithm for Unstructured Data Online Parallel Visualization with EPSN

3 Results

(20)

Case Study: The Gadget2 Cosmological Simulation

Parallel legacy code written in C and using MPI (Message Passing Interface)

Developed by V. Springel at Max-Plank Institute of Astrophysics Simulates birth of a galaxy that collapses gravitationally until a central shock

Galaxy represented by a gas cloud (1,000,000 particles distributed on 60 processes for our test case)

Astrophysicists want to visualize the evolution of the galaxy in 3D

Representation of the Gadget2 simulation in EPSN.

Online parallel visualization on tiled-display wall.

(21)

Case Study: The Gadget2 Cosmological Simulation

Gadget2 average time for simulation computations, data transfer and visualization (in ms/iteration)

No overhead for the simulation with EPSN, without visualization Huge overhead in the sequential visualization case (+21%) Very small overhead in the parallel visualization case (+2%)

Huge overhead for higher global resolution (network bandwidth not adapted!)

M N S Global Resolution Transfert Time Visualiz. Time Simulation Time Total Overhead 60 – – – – – 2150 – 60 1 1 1600×1200 140 1160 2600 +21% 60 4 1 1600×1200 91 620 2180 +1 .4% 60 4 4 1600×1200 91 500 2155 +0 .2% 60 4 4 3200×2400 90 1300 2670 +24%

(22)

Conclusion

A modern approach for M×N computational steering

Parallel visualization and rendering techniques

Redistribution algorithms based on a placement approach well adpated for computational steering

Validation with a real-life simulation in astrophysics (Gadget2)

In future works

Integration of our solution in a high-level visualization system like Paraview Redistribution of more complex objects (multi-level grids, AMR, ...) Steering of parallel-distributed simulations (e.g. multi-physics)

(23)

Outline

4 Appendix

(24)

Overlapping of the Steering Overhead

90 100 110 120 130 140 150 160 170 180 1 10 100 1000 10000 time (ms/iter) size (KB) simulation (100 ms) overlapping 0% overlapping 30% overlapping 50% overlapping 90%) overlapping 100%

(25)

Redistribution and Parallel Data Flow

0 100 200 300 400 500 600 700 800 10 100 1000 10000 100000 aggregate bandwidth (MB/s) size (KB) 1x1 2x2 4x4 16x4 8x8 8x7

References

Related documents

The waiting time charge is triggered from 60 minutes after the scheduled sail time and the vessel is not ready to sail.. The charge incorporates mooring, pilotage and towage

Insulate each piping system specified above with the following types and thicknesses of insulation: Fiberglass with wicking technology: : 1 inch thick for pipe sizes up to

I hypothesize that the use of indiscriminate violence against civilians in altered, contested, and controlled zones through the practice of assuming a strategic position

Similarly, those who had ineffective problem solving skills reported lower affectional expression when they had high conflict tendencies, as compared to the condition when they

To confirm to us that you can access this information electronically, which will be similar to other electronic notices and disclosures that we will provide to you, please confirm

Prior to a working at heights permit being issued a detailed rescue plan should have been identified, including the equipment required to effect a rescue, the equipment outlined in

By automatically scanning data residing on network shares, storage systems and Windows endpoint computers inside of the corporate network (or even outside if using the DeviceLock