This paper describes a software architecture that allows image processing researchers to develop
parallel applications in a transparent manner. The architecture’s main component is an
extensive library of data parallel low level image operations capable of running on homogeneous
distributed memory MIMD-style multicomputers. Since the library has an application
programming interface identical to that of an existing sequential library, all parallelism is completely
hidden from the user.
The first part of the paper discusses implementation aspects of the parallel library, and
shows how sequential as well as parallel operations are implemented on the basis of so-called
parallelizable patterns. A library built in this manner is easily maintainable, as extensive code
redundancy is avoided. The second part of the paper describes the application of performance
models to ensure efficiency of execution on all target platforms. Experiments show that for a
realistic application performance predictions are highly accurate. These results indicate that
the core of the architecture forms a powerful basis for automatic parallelization and optimization
of a wide range of imaging software.
@Article{SeinstraPC2002,
author = "Seinstra, F. J. and Koelma, D. C. and Geusebroek, J. M.",
title = "A Software Architecture for User Transparent Parallel Image Processing",
journal = "Parallel Computing",
pages = "967--993",
year = "2002",
url = "https://ivi.fnwi.uva.nl/isis/publications/2002/SeinstraPC2002",
pdf = "https://ivi.fnwi.uva.nl/isis/publications/2002/SeinstraPC2002/SeinstraPC2002.pdf",
has_image = 1
}