Talk abstract:
Systems Engineering Issues in the Implementation of an Infrastructure
for Parallel Structured Adaptive Meshes
Manish Parashar and J. C. Browne, The University
of Texas at Austin
1. Over view
The focus of this paper will be on the role of systems engineering
in the development of a flexible and extendible infrastructure
for parallel structured adaptive meshes. The fundamental systems
engineering principles used are well-known but their application
in the development of software for large scale parallel computation
leads to some new abstractions for the formulation of computational
software.
2. Problem Statement
There are a wide variety of computational algorithms based
structured adaptive mesh refinement. There are a diversity of
parallel execution environments which must be supported ranging
from shared memory multiprocessors to geographically dispersed
networks. Additionally, computationally-based experimentation
is no longer "just computation" but involves visualization and
other sophisticated analyses.
Any infrastructure for support of structured adaptive mesh
refinement (SAMR) must, therefore, be readily extendible if
it is to be widely applicable. This paper focuses on the design
and implementation considerations which enable the hierarchical
dynamic distributed array(HDDA)/directed acyclic grid hierarchy(DAGH)
infrastructure (HDDA/DAGH) to be readily extendible.
3. Approach
The approach we have taken to meeting requirements for breadth
of application and for efficient execution on multiple execution
platforms is to separately define data management and computational
abstractions and to use object-oriented development methods.
HDDA and DAGH are separate abstraction layers and within each
of these layer there are sublayers. The HDDA is the lowest level
of abstraction. The lowest level of abstraction with the HDDA
level is that of an index space. Separation of specification
of index space from data access and storage allows the index
space for a problem domain to be derived directly from the geometric
and topological properties of the domain. This direct mapping
from the problem space to the index space enables maintenance
of problem-defined locality in physical memory. The next level
of the HDDA implements data storage and access in which we have
included issues such as extendibility, communication and synchronization
as well as storage. The DAGH defines grids, meshes, etc. One
instantiation of the next level above DAGH defines programming
abstractions which are specific to particular methods of structured
adaptive mesh refinement such as Berger/Oliger, multigrid, etc.
Another instantiation of the next level above DAGH implements
additional usability features such as checkpointing. Yet another
instantiation above DAGH defines an interface to visualization
systems such as AVS and Explorer.
A compact and efficient implementation depends upon the capabilities
provided in object-oriented programming systems. Each layer
is implemented as a set of C++ classes which inherit from the
classes defined in the lower layers or use composition/template
mechanisms to create container classes. Use of inlining is critical
to efficiency when several layers must be traversed
4. Content of Paper
The main content of the paper will be definition of the abstractions
and their composition into a system. Example programs will be
given to illustrate the concepts.
Back to Workshop
Schedule
1996-1997
Mathematics in High Performance Computing
|