Several ACTS tools from the DOE laboratories have already been integrated and made interoperable to share portions of their functionality. A more general integration solution is being designed via the Common Component Architecture (CCA) forum for specifying reusable high performance software components. The CCA provides a framework and services for instantiating and combining scientific software components to form efficient, scalable simulation programs (see below).
CUMULVS Overview
FY 1998 Accomplishments
Future Plans
Downloading and Using CUMULVS
Development Team Participants
- CUMULVS and CCA Collective Technology
- CUMULVS Virtual Reality Viewers
- CUMULVS and Message Handlers / Nexus
- CUMULVS and Global Arrays

For the SC99 demonstration, the CUMULVS system, under development at ORNL for interactive visualization, computational steering and application fault-tolerance, was combined together with ESI (Equation Solver Interface), a numerical solver system being developed at SNL. Functionality from these two systems was encapsulated into CCA components which were then interactively combined using a graphical CCA framework interface. The resulting physics simulation modeled the temperature distribution across a metal plate. The output of the ESI solver was dynamically hooked together with several CUMULVS components for ongoing visualization of the progress of the simulation. An intermediate prototype "collective" component formed the "glue" between the parallel ESI model and the CUMULVS viewer, and provided extraction of the distributed data as necessary for visualization.
In this joint project between ORNL and SNL, the components were written in C++ and C, and were interactively connected using a Java framework, to attach the ESI modules to various CUMULVS viewers. These viewers used AVS and Tcl/Tk to display ongoing animations of the physics computations. This demonstration was given several times over the course of SC99, along with another CCA Forum demonstration, and helped to showcase state-of-the-art DOE research.
Click on these images to see screen dumps of the CUMULVS slicer interface displaying the Heat Flux or the Temperature of the ESI physics simulation:

- CUMULVS and Unstructured / Adaptive Meshes
- Model Coupling Using CUMULVS
- Integration of CUMULVS with Harness
- CUMULVS Checkpointing Optimization
- CUMULVS Instrumentation
Beyond the theoretical work in the CCA, several concrete
experiments will be performed to verify and validate the proposed
specifications. A simple but generic Collective Component will be
implemented to automatically translate data fields among parallel
components that use standard rectangular mesh decompositions.
This reference implementation will utilize existing technology from
the CUMULVS system at ORNL to construct a more general purpose
reusable component.
Using the CCA specification, support for Unstructured and Adaptive
Meshes will be added to CUMULVS. Currently, CUMULVS supports all
standard rectilinear distributed data decompositions, such as Block
and Cyclic, as well as other Explicit decompositions. There is
also support for abstract Particle decompositions, but use of this
interface for truly unstructured data is cumbersome. The Particle
interface will either be reworked or an additional Unstructured
decomposition type will be added to ease the instrumentation burden.
Similarly, AMR adds a dynamic element to the unstructured case,
and therefore the base decomposition interface must be enhanced
to assist with the integration of CUMULVS into AMR applications.
Currently, CUMULVS is built on top of
PVM,
so you must download and install PVM to use it.
CUMULVS works with either the PVM 3.3.11 or PVM 3.4.* releases.
The CUMULVS software comes with several pre-defined viewer programs,
including an AVS viewer, a Tcl/Tk slicer,
and a simple text-based viewer.
To use the AVS viewer,
you must first
purchase AVS
for your system.
To use the Tcl/Tk viewer,
you must
download and install
the Tcl/Tk system.
CUMULVS will work with versions Tcl 7.4 / Tk 4.0 or later.
Additional information on Tcl/Tk can be found at
http://www.tcltk.com/.

Several experiments were performed to explore the feasibility
of porting CUMULVS to the Globus/Nexus environment developed at Argonne
National Laboratory (ANL), as an alternative to the PVM message-passing
substrate.
A simple prototype was constructed to mimic the CUMULVS communication
patterns and functionality using the Nexus communication library
instead of PVM. Given the success of this prototype, CUMULVS is being
extended to use Nexus as well as PVM, to provide better support
for MPI applications that use Mpich-G on Globus. In preparation for
this transformation, the internal message processing in CUMULVS has
been overhauled. All communication in Nexus is based on
message-handlers rather than direct point-to-point messages, therefore
all such direct messaging in CUMULVS has been converted to instead
use only message handlers for processing.
This has the added benefit of more timely responses for CUMULVS in the
PVM-based protocols, as viewer requests can be processed
transparently amidst regular user messaging using PVM's message
handler interface.

Our ongoing work on CUMULVS and the ACTS Toolkit
continues to emphasize the integration of run-time visualization,
coordinated computation steering and application fault tolerance
capabilities into ACTS' runtime, numerics, and framework components.
Our research will continue to expand the CUMULVS runtime
environment to increase its applicability to a wider base
of applications and tools.
Future Plans
Efforts will be made to further enhance the definitions
for "Collective Components" in the CCA. In developing data sharing
interfaces for rectilinear meshes, it has become evident that a more
general definition for distributed Data Decompositions is needed.
Fundamentally, this specification will need to describe the detailed
nature of parallel data - its local storage allocation, its context
in the global decomposition, and how each element can be extracted
or accessed. This specification will better support the existing
Collective Component specification as well as other necessary
extensions.





The latest version of the CUMULVS software can be downloaded from the
CUMULVS Home Page.
This software works on most Unix platforms,
and there is also a preliminary distribution for Windows platforms.
Downloading and Using CUMULVS
Development Team Participants
For more details
on CUMULVS or questions,
email:
cumulvs@msr.csm.ornl.gov