Computational steering
This presentation is the property of its rightful owner.
Sponsored Links
1 / 26

Computational Steering PowerPoint PPT Presentation


  • 65 Views
  • Uploaded on
  • Presentation posted in: General

Computational Steering. Sathish Vadhiyar Sources/Credits: CUMULVS web sites and papers. Introduction. Parameters of the computation are adjusted on-the-fly to gain understanding of the problem Respond to simulation results as they occur by manipulating the input parameters

Download Presentation

Computational Steering

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Computational steering

Computational Steering

Sathish Vadhiyar

Sources/Credits: CUMULVS web sites and papers


Introduction

Introduction

  • Parameters of the computation are adjusted on-the-fly to gain understanding of the problem

  • Respond to simulation results as they occur by manipulating the input parameters

  • For carrying out “what if” analysis

  • For experimenting with program characteristics whose effects are not easily understood

  • Allows interactive exploration of simulation in time and/or space


Motivation falcon molecular dynamics md

Motivation: Falcon Molecular Dynamics (MD)

  • Simulation of system containing 4800 particles representing an alkane film layered on 2700 particles representing a crystalline base

  • Simulation steps

    • Obtain location information from neighboring particles

    • Calculate intra-molecular forces

    • Calculate inter-molecular forces

    • Apply forces to yield new particle position

    • Publish particle’s new position

  • Other steps

    • Determining system-wide characteristics such as atomic temperature

    • Performing on-line data analysis and visualization

  • Simulation algorithm

    • Domain decomposition

    • Domains assigned to parallel processors

    • Cut-off radius in force calculation


Steering opportunities in md

Steering opportunities in MD

  • Changing decomposition geometries

  • Changing cut-off radius – speed/fidelity tradeoffs

  • Changing frequency of global temperature calculations based on temperature stability of the system


Advantages of steering in md

Advantages of Steering in MD


Advantages of steering in md1

Advantages of Steering in MD


Cumulvs

CUMULVS

  • Collaborative User Migration, User Library for Visualization and Steering

  • Provides 2 libraries

    • For application program

    • For visualization and steering front end

  • Can dynamically attach multiple viewer front ends to a running parallel application

  • Viewer programs can also steer one or more user-defined parameters

  • Also provides fault tolerance and migration across heterogeneous systems


Cumulvs application and visualization specification

CUMULVS – Application and Visualization Specification

  • Programmer specifies

    • Data distributions

    • Which parameters are allowed to be steered

  • To reduce network traffic, front-end viewers can specify a region for visualization including the granularity of the desired data


Cumulvs visualization and steering coordination and synchronization

CUMULVS – Visualization and Steering – Coordination and Synchronization

  • Consistent view of the application’s state by the viewer through loose synchronization with the application

    • A viewer brackets the timesteps and ensures that all tasks are on one of the timesteps

    • Tasks A, B, and C can be at timesteps 10,12,11

  • Steering parameter updates are marked with “apply-at” timestep


Execution order

Execution order


Example

Example


Interface descriptions

Interface Descriptions


Viewer and steering interface

Viewer and steering interface

  • Viewer programs

    • Text-based

    • AVS-compatible viewer

    • Custom TCL/TK viewer

  • Token scheme prevents conflicting adjustments to the same steering parameter by different users

  • All tasks apply the steering changes in unison


Viewer and steering interface1

Viewer and Steering Interface

  • Interfaces for

    • Initializing communications with the user application

    • Requesting data fields

    • Collecting data frames

    • Allocating data frame storage

    • Dumping data field values

  • User’s data field requests:

    • Set of data fields

    • Specific region of computational domain

    • Frequency of “data frames”

    • Cell size for each axis, i.e., data stride

  • Supports different Data decompositions


Viewer interfaces

Viewer interfaces

  • stv_viewer_init

    • Initializes link with a specific user application

    • Gathers information about the data fields and parameters that are available from that application

    • Returns instance identifying a particular application

  • Another call for selecting data fields and specifying visualization regions

    • Data type and storage order can be specified

    • Set of fields specified in a single field request is called “view field group”

    • Also specifies visualization regions – bounds and cell sizes of data fields


Viewer interfaces1

Viewer Interfaces

  • stv_viewer_request_field()

    • Field request

    • Returns VFG instance that represents the group of data fields requested

  • stv_viewer_send_XON

    • Sends “XON” to the application

    • Application waits for XON message, polls for permission to continue with the next iteration


Viewer interfaces miscellanious

Viewer Interfaces - Miscellanious

  • stv_viewer_set_VisRegion()

    • For modifying visualization region of a VFG on the fly

    • Records new set of visualization bounds and cell sizes and sends update to the application

  • set_viewer_set_VisFrequency()

    • Controlling frequency of data frames


Steering interfaces

Steering interfaces

  • For iterative control

  • stv_viewer_steering_init

    • Creates loosely synchronized connection with the user application

    • Performs equivalent of special data field request

  • stv_viewer_steering_request

    • Obtains steering token for a particular parameter

    • If token unavailable, i.e. another viewer possesses it

      • When the possessing viewer releases the token, CUMULVS will broadcast a message informing all the requesting viewers


Steering interfaces1

Steering Interfaces

  • stv_viewer_steer_parameter, stv_viewer_steer_vparameter

    • Changes values of parameters

    • The routines copy viewer data to an internal data structure

  • stv_viewer_send_NewParams()

    • Changed parameters are sent

  • stv_viewer_steering_release

    • Will relinquish steering token


Protocols for attaching to running application

Protocols for attaching to running application

  • CUMULVS uses application name supplied in the init call in the application for attaching

  • Application name registered in a database that indicates how to contact instance 0 of the application

  • Different phases – inquiry, request for attachment, data transfer, detachment


Protocols inquiry

Protocols - Inquiry

  • Inquiry

    • Viewer looks up the application name, message context

    • Sends init0 message to task 0.

    • Task0 reply: total number of tasks, data decompositions, steering parameter particulars, current time step

    • Task0 forwards init0 message to other tasks

    • Other tasks contact the viewer and send their data and steering parameters


Protocols field request

Protocols – Field Request

  • Field request – 3 phases

    • Viewer sends which fields are required. Tasks return their current time steps, timestep0. tasks compute till timestep0+1.

    • After viewer hears from all tasks, it calculates maximum of timestep0s, timestep1. sends timestep1 to tasks

    • Tasks compute until timestep1 and then send requested data fields to viewers


Example1

Example

  • Simulating propagation of an acoustic signal through a heterogeneous media

  • Solved by finite difference equations

  • Equation has pressure fields and sources

  • CUMULVS used to introduce arbitrary “thumps”


Output

Output


Example cfd code supercomputing conference from cumulvs web site

Example – CFD code Supercomputing Conference (from CUMULVS web site)

CFD code for simulation of airflow over jet wing

Peak in residual field due to an omitted column in computation


References sources credits

References / Sources / Credits

  • P. M. Papadopoulos, J. A. Kohl, B. D. Semeraro, ``CUMULVS: Extending a Generic Steering and Visualization Middleware for Application Fault-Tolerance,'' Proceedings of the 31st Hawaii International Conference on System Sciences (HICSS-31), Kona, Hawaii, January 1998.

  • G. A. Geist, J. A. Kohl, P. M. Papadopoulos, ``CUMULVS: Providing Fault-Tolerance, Visualization and Steering of Parallel Applications,'' International Journal of High Performance Computing Applications, Volume 11, Number 3, August 1997, pp. 224-236.

  • Falcon: On-line Monitoring and Steering of Parallel Programs, Weiming Gu, Greg Eisenhauer and Karsten Schwan, submitted to the IEEE Transactions on Parallel and Distributed Systems November 1994, revised September 1995.


  • Login