Title: All Hands 2003
1 Computational Steering in RealityGrid J M
Brooke, P V Coveney, J Harting, S Jha, S M
Pickles, R L Pinning and A R Porter
Manchester Computing, University of Manchester
Centre for Computational Science, University
College London
http//www.realitygrid.org
Problems associated with demanding high
performance computational science are not
confined to merely finding resources with
larger numbers of processors or memory.
Simulations that require greater computational
resources also require increasingly
sophisticated and complex tools for the analysis
and management of the output of the simulations.
For a range of scientific applications,
controlling the evolution of a computation
based upon the realtime analysis and
visualisation of the status of a simulation
alleviates many of the limitations of a simple
simulate-then-analyse approach. Computational
steering is the functionality that enables the
user to influence the otherwise sequential
simulation and analysis phases by merging and
interspacing them. A central theme
of RealityGrid is the facilitation of
distributed and interactive exploration of
physical models and systems through
computational steering of parallel simulation
codes and simultaneous on-line, high-end
visualisation. We provide design and
implementation details of the RealityGrid
steering library and toolkit. The capabilities
of the library are outlined and the
service-orientated architecture of the latest
implementation based on the Open Grid Services
Infrastructure is presented. Using the
simulation of complex fluids by Lattice Boltzmann
methods as an example, we show the advantages
that a powerful, flexible computational
steering framework provides the physical
scientist, i.e, how it enables more effective
utilization of computational resource and
enhances a scientist's productivity.
- Implementation
- Steering functionality made available to
application via subroutine library - Suitable for use in parallel programs no
restriction on programming paradigm or technology
(e.g. MPI , OpenMP etc.). Bindings available for
common scientific languages F90, C and C - Combination of API and reverse communication
approach gives application scientist considerable
flexibility in choosing how much steering
functionality they wish to implement - Single library API supports both local
(file-based) and remote (via grid service using
SOAP over HTTP) steering. Steering grid service
implemented in Perl and hosted by the OGSILite
package by Mark Mc Keown 2
Computational Steering Large-scale simulations
(and experiments) can generate in days data that
takes months to understand. Computational
steering aims to short circuit post facto
analysis by enabling the scientist to navigate
their simulation/experiment through interesting
regions of parameter space. The provision of
simultaneous, on-line visualisation develops and
engages the scientist's intuition. Allowing the
scientist to interact with their
simulation/experiment thus helps him/her avoid
wasting valuable computation/experiment time
exploring barren regions or even doing the wrong
calculation. These and other benefits of
computational steering are explored further in
1.
Simulation
- Functionality
- Qt-based steering client for Linux and IRIX built
on the steering library - Support for
- Dynamic attach and detach from running
simulation - Parameter monitoring (and plotting)
- Parameter steering (with bounds)
- Stop and Pause commands
- Control of data-set emission (via globus_io)
- Control of checkpointing and restart
- vtk-based visualisation component using globus_io
for data transfer.
bind
publish
connect
find
data transfer
Registry
publish
bind
Visualisation
Figure 1 The RealityGrid steering architecture.
- Architecture
- RealityGrid applications consist of one or more
software components (e.g. molecular dynamics
simulation plus visualisation) - Public computational-steering interface for
steerable components provided by a grid service
(Figure 1) - Steerable components can be discovered and
steered through standard grid-service technology
Grid-service framework allows automatic
construction of inter-component connections (e.g.
socket for large data transfers) - Components can be added to or removed from the
application dynamically (e.g. introduce a data
filter or a different visualisation).
Figure 2 The Qt-based steering client.
Lattice Boltzmann methods
Complex Fluids
Vortex Knot Evolution
- How Computational Steering helps
- Steering has proved useful for detecting and
studying topological changes in vortex cores - Once a change is detected we can return to the
last checkpoint and improve either the spatial or
temporal resolution of the simulation - The figure below shows how steering through
parameter space allows a computational scientist
to uncover different binary phases
- The lattice Boltzmann method is a mesoscale
method for simulating complex fluids. This is
something traditional CFD cannot do. - Can simulate
- flow in porous media industrial applications
e.g. hydrocarbon recovery process (A). Using a
10243 simulation we can now model 1cm3 of rock - non-equilibrium process of self-assembly of
amphiphilic fluids into equilibrium
liquid-crystalline cubic mesophases.(e.g. gyroid
phase B). - sheared equilibrium mesophases (C).
- Vorticity is the curl of the hydrodynamic
velocity, and is strongest at the core of a
swirling region of fluid. At high Reynolds
number, regions of high vorticity tend to form
filamentary structures - We study the dynamical behaviour of vortex knots
and links for single phase fluids
Cubic micellar phase, high surfactant density
gradient.
Cubic micellar phase, low surfactant density
gradient.
Initial condition Random water/ surfactant
mixture.
Self-organization starts.
Figure 4.Evolution of a (2,3) torus knot using
Lattice Boltzmann on a 1003 grid
Lamellar phase surfactant bilayers between water
layers.
B
Rewind and restart from checkpoint.
A
(Work on the Vortex Knot evolution is by Prof.
Bruce Boghosians group at Tufts University)
C
- A Grid infrastructure that permits the
coordination of heterogeneous and distributed
computing resources provides a natural testbed
for demonstrating the effectiveness of
computational steering
Figure 3 Different physical systems studied.
References 1 J Chin, J Harting, S Jha, P V
Coveney, A R Porter and S M Pickles, Steering in
computational science mesoscale modelling and
simulation, Contemporary Physics, 44 (5), pp
417-434 2 M Mc Keown, OGSILite a Perl
OGSI-compliant hosting environment,
http//www.sve.man.ac.uk/Research/AtoZ/ILCT.