Structuring Distributed Relation-Based Computations with SCDRC
N. Botta, C. Ionescu, C. Linstead, R. Klein (October 2006)
In
this report we present a set of software components for distributed
relation-based computations (SCDRC). We explain how SCDRC can be used
to structure parallel computations in a single-program multiple-data
computational environment.
First, we introduce relation-based algorithms and relation-based computations as generic patterns in scientific computing. We then discuss the problems that have to be solved to parallelize such patterns and propose a high-level formalism for specifying these problems.
This formalism is then applied to derive parallel distributed relation-based computations. These are implemented in the C++ library SCDRC. We present language independent elements of SCDRC and discuss C++ specific aspects of its design and architecture.
Finally, we discuss how to use SCDRC in a simple application and provide preliminary performance figures.