Title: A Survey of Computational Steering Systems and Future Directions
1A Survey of Computational Steering Systems and
Future Directions
- Feng Xian
- fxian_at_cse.unl.edu
- Oct 29, 2003
2Outline
- I. Definition of Computational Steering
- II. Problems in Computational Steering
- III. Survey of Computational Steering Systems
- IV. Future Directions
3Definition
Computational steering can be defined as the
interactive control over a computational process
during execution (Marshall, 1990). Generally,
any interactive program can be viewed as steering
program. For example - Online debugging -
Interactive scientific simulation - Electrical
battlefield simulation Here, we mainly focus on
scientific simulation
4 Sequential way/Batch processing
Two simulation ways
Interactive way/Computational steering
5Characteristics
- Close the loop of modeling, simulation and
visualization - Continuous visualization of intermediate results
- Interaction with simulation parameters
- Enables modifications of intermediate results
- User can directly influence the behavior of the
simulation
6Benefits
- Enhance productivity by greatly reducing the time
between changes to parameters and the viewing of
the results - Enable the user to explore a what-if analysis
- The cause-effect relationships become more
evident because changes in parameters become more
instantaneous
7Example Pollution Alert
- Problem an accident at a chemical plant resulted
in the release of a toxic gas. Which regions need
to be evacuated? Simulate the event faster than
real time - Some considerations on computational steering
- - A domain expert runs gas dispersion model
- - A meteorologist gives the whether forecast
- - They need to collaboratively steer the
simulation and visualize the results in timely
manner -
8General Approaches in implementing
Computational Steering Systems
- They operate in three phases
- Instrumentation Application code is modified to
add monitoring functionality. - Monitoring Program is run with some initial
input data, the output of which is observed by
retrieving important data about the programs
state change. - Steering Programs behavior is modified (by
modifying the input) based on the knowledge
gained during the previous phase by applying
steering commands, which are injected on-line.
9Outline
- I. Definition of Computational Steering
- II. Problems in Computational Steering
- III. Survey of Computational Steering Systems
- IV. Future Directions
10Consistency
- Modifying/Steering parameters at unsafe
pointers in the execution of the process might
cause the computation to fail or produce an
incorrect value
11Scalability
- With the increase of steering components, the
interaction overhead should not increase sharply.
For example, the addition of distributed
time-keeping technology to solve consistency
problems typically results in great overhead to
the program
12Fault tolerance
- If a modification to a steering parameter failed,
what action should the program take?
13Latency
- Presentation lag
- The elapsed time between the occurrence of an
event and the presentation of the associated
graphic updates to user - Steering lag
- The elapsed time between a steering action
and the completion of the action
14Outline
- I. Definition of Computational Steering
- II. Problems in Computational Steering
- III. Survey of Computational Steering Systems
- IV. Future Directions
15Overview
- CUMULVS (Oak Ridge National Laboratory, 1995)
- CSE (Center for Math and CS, Netherlands, 1995)
- Progress (Georgia Institute of Technology,1995)
- Magellan (Georgia Institute of Technology,1997)
- SCIRun (University of Utah,1997)
- gViz (University of Leeds, NAG Ltd, HK, 2002)
16Cumulvs
- CUMULVS is a middle-ware that allows parallel
programs to easy incorporate real-time
visualization and steering. - Key features
- - a middleware/library built on PVM
- - user-directed checkpoints
- - provides a task immigration mechanism to
achieve load balancing
17Cumulvs Paradigm
Coordination of collection and dissemination of
information to/from parallel tasks to multiple
viewers.
Local Viewer Custom GUI
task
task
viewer
task
viewer
task
Remote Person Using VR Interface
Unix Host A
CUMULVS
task
task
task
task
task
viewer
task
NT Host B
Remote Person Using AVS
Unix Host C
18Some mechanisms
- Coherence
- To prevent incoherent parameter updates,
CUMULVS required users to acquire a token before
modification. - Fault tolerance
- Provides a fault-tolerant communication
protocol so that failure in either an application
or a viewer can be gracefully handled. - When to make checkpoint
- At the iterative program. We commit a global
checkpoint at the end of iteration.
19Cumulvs Integration Interoperability
- Integration with InDEPS code development
environment (ORNL SNL) - Combustion Simulations
- Material Impact and Deformation
- Smooth Particle Hydrodynamics
- Tcl/Tk language bindings for Cumulvs (NCSA, ORNL)
- Viewers VTK Tango, VR / OpenGL viewer,
Immersadesk, and CAVE - Apps. Chesapeake Bay Simulation, Neutron Star
Collision, DOD codes
20- Pros
- Links to a variety of visualization tools
- Dynamic linking to running application
- Coordinated computational steering
- Fault tolerance
- Cons
- Non-transparent checkpoint, users need to
identify where to place checkpoint - Only applicable to iterative computations
21CSE Architecture
- Key idea
- - a modular architecture for computational
steering environment - - provide a simple, flexible and minimal kernel
22CSE Architecture
Researcher
expression
Rendering Satellite
Selection Satellite
Calculator Satellite
data
data
data
Data Manager
data
Simulation
23CSE Architecture Description
- Data manager is implemented as a blackboard
- - manages a database of variables
- - acts as an event notification manager
- Satellite centers around the data manager
- - receives input data from users
- - subscribes to events that represent state
changes in the data manager
24Progress
- Steerable applications are developed through
source-code modifications and steering is
assisted by a run-time system. - Key idea
- - Server-client model
- - provide three function hooks probe, sensor,
actuator
25Steering Object Operations
- Steering object is the component for steering
- Some fundamental operations
- - register register the steering objects with
steering server - - probe steering server read/write some
non-critical variables in the application - - sense forward the objects to the steering
server for analysis - - actuate performs a modification to the
steering object.
26Progress Architecture
Progress Client
Application
Sense Queue
Progress Runtime Server
Object1
Object1
Object1
Actuate Queue
Object Registry
Object2
Object2
Object2
Shared Memory
27An Example Program
28Magellan
- Derived from the Progress system Extends the
client and server steering models. - Uses a specification language ASCL to provide
commands for monitoring and steering using the
same objects as Progress.
29SCIRun
- Key features
- - It is based on data flow programming model
using boxes and wires approach. - The main components are
- - module represents an algorithm or operation
- - port provides a connecting point to
different - stages of the computation
- - data type represents the conception behind
- the numbers
- - connection connects two modules together
30(No Transcript)
31gViz (Under development)
- gViz Aims to research and develop visualization
middleware for e-science. - Software components
- - IRIS (Commercial software, NAG Ltd.)
- - Globus Toolkit
-
32Schematic of computational steering with gViz
33Three main subdivisions of work
- Two grid-enable visualization systems, IRIS and
pV3 - develop compression techniques suitable for
transmitting very large streams of data - build up appropriate XML languages for describing
the structure and format of data to be analysed
and for processing tasks.
34(No Transcript)
35Outline
- I. Definition of Computational Steering
- II. Problems in Computational Steering
- III. Survey of Computational Steering Systems
- IV. Future Directions
36My tentative directions
- - Data management
- It common to generate hundreds or thousands of
images, datafiles, and results. How to organize
the data efficiently? - Synchronization among collaborate users
- In the e-Science, how to make the views to
different users coherent? Try to come up with an
efficient scheme. -
- - It can be used in p2p environment?
- Maybe or maybe not?
37Thank you !!