Dynamically adaptive methods for the solution of partial differential equations that employ locally optimal approximations can yield highly advantageous ratios for cost/accuracy when compared to methods based upon static uniform approximations. These techniques seek to improve the accuracy of the solution by dynamically refining the computational grid in regions of high local solution error. Parallel/distributed implementations of these adaptive methods offer the potential for the accurate solution of realistic models of important physical systems. These implementations, however, lead to interesting challenges in dynamic resource allocation, data-distribution and load balancing, communications and coordination, and resource management.
Critical among these is
the partitioning problem where load balance, communication, data migration, and
other overhead costs such as grid aspect ratios need to be optimized
simultaneously. Hence, the key requirements for a decomposition scheme for
partitioning an adaptive grid hierarchy can be summarized as:
* expose available data parallelism,
* minimize communication overhead,
* balance overall load distribution,
* enable dynamic load redistribution with
minimum overheads.
Another important
requirement while partitioning adaptive grid hierarchies is the maintenance of
logical locality, both across different levels of the hierarchy under expansion
and contraction of the adaptive grid structure, and within partitions of grids
at all levels when they are decomposed and mapped across processors. The former
enables efficient computational access to the grids while the latter minimizes
the total communication and synchronization overheads. Furthermore, application
adaptation results in application grids being created, moved and deleted
on-the-fly, making it is necessary to efficiently re-partition the hierarchy so
that it continues to meet these goals.
Moving the adaptive applications to dynamic and heterogeneous networked computing
environments introduces a new level of complexity. These environments require
selecting and configuring application components based on available resources.
However, the complexity and heterogeneity of the environment make the selection
of a "best" match between system resources, application algorithms,
problem decompositions, mappings and load distributions, communication
mechanisms, etc., non-trivial. System dynamics coupled with application
adaptation makes application configuration and run-time management a significant
challenge.
GrACE addresses these issues in an efficient manner using the approach of separation of concerns. The Grid Adaptive Computational Engine consists of two components: