Distributed Dynamic Data-Management
Manish
Parashar & James
C. Browne
parashar@caip.rutgers.edu; browne@cs.utexas.edu
Overview
This research addressed management of distributed data-structures that can
change in their size, information content, and interactions with other
distributed data-structures during their lifetime. Such distributed, dynamic
data-structures underly (among other application areas) adaptive scientific and
engineering simulations, multiresolution databases, and interactive scientific
visualization systems.
A key requirement for the efficiency of these applications is the preservation
of application locality requirements in-spite of its dynamics.
The research has lead to the development of the Hierarchical Distributed
Dynamic Array (HDDA). HDDA is a data-management system that provides pure array
access semantics to hierarchical, dynamic and physically distributed data. It is
a hierarchical array in that each element of the HDDA can also be an HDDA; it is
a dynamic array in that it can grow and shrink dynamically. HDDA objects encapsulate
distribution, dynamic load balancing, communications, and consistency management.
The key component the HDDA is a hierarchical global index space which is a
one-dimensional, multilevel index set that can expand and contract dynamically.
The index space is derived from the application domain using Space-filling
Mappings and encodes application locality requirements. Further, it has the ability
to preserve this locality through expansion and contraction. This index space is
used by the HDDA for application domain partitioning, as a global name space for
name resolution and for communication scheduling. HDDA storage is implemented as
an Extendible Hash Table that uses the index space as its hash-key space.
HDDA is being successfully used for data-management in the different application
domains.
Application Domains
- Adaptive Simulation:
HDDA has been used to provide dynamic data-management support for parallel
adaptive techniques for scientific and engineering simulations. These
include parallel hierarchical adaptive mesh-refinement and multigrid
techniques, parallel hp-adaptive finite-element techniques, and adaptive
particle methods. Using HDDA abstractions has typically reduced the coding
complexity of the dynamically adaptive solution methods by several orders
of magnitude; while the efficiency of the resulting implementation is
comparable, and frequently superior to implementations coded directly in C
or Fortran.
- Multiresolution Databases:
HDDA technology is currently being used as a basis for a multiresolution
database for managing satellite data. The requirement of the database is
the ability to store, retrieve and transform distributed satellite data
at desired resolutions.
- Interactive Visualization & Computation Steering:
HDDA data-objects are being used to drive interactive visualization and
experimentation. The idea is to extend HDDA base objects with appropriate
visualization and interaction capabilities.
Manish Parashar, parashar@caip.rutgers.edu
CAIP Center & Department of Electrical & Computer Engineering
Rutgers, The State University of New Jersey