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.