A software architecture for user transparent parallel image processing

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.

[1]  Danny Crookes Architectures for high performance image processing: The future , 1999, J. Syst. Archit..

[2]  Joseph N. Wilson,et al.  Handbook of computer vision algorithms in image algebra , 1996 .

[3]  Danny Crookes,et al.  A high level language for parallel image processing , 1994, Image Vis. Comput..

[4]  Amotz Bar-Noy,et al.  Designing broadcasting algorithms in the postal model for message-passing systems , 1992, SPAA '92.

[5]  Dennis Koelma,et al.  Incorporating memory layout in the modeling of message passing programs , 2003, J. Syst. Archit..

[6]  Dan Hammerstrom,et al.  Image processing using one-dimensional processor arrays , 1996, Proc. IEEE.

[7]  Jon A. Webb Steps toward architecture-independent image processing , 1992, Computer.

[8]  Gregory V. Wilson,et al.  Parallel Programming Using C , 1996 .

[9]  Arnold W. M. Smeulders,et al.  Piecewise DM:a locally controllable deformable model , 1999 .

[10]  Peter M. A. Sloot,et al.  The distributed ASCI Supercomputer project , 2000, OPSR.

[11]  Said Boussakta A novel method for parallel image processing applications , 1999, J. Syst. Archit..

[12]  Ahmed Saoudi,et al.  Optimal Parallel Algorithms for Multidimensional Image Template Matching and Pattern Matching , 1992, ICPIA.

[13]  Wojciech Rytter,et al.  On Two-Dimensional Pattern Matching by Optimal Parallel Algorithms , 1994, Theor. Comput. Sci..

[14]  Juan Li,et al.  A software environment for parallel computer vision , 1992, Computer.

[15]  Mounir Hamdi,et al.  Parallel Image Processing Applications on a Network of Workstations , 1995, Parallel Comput..

[16]  Marcel Worring,et al.  Content based internet access to paper documents , 1999, International Journal on Document Analysis and Recognition.

[17]  Francisco Tirado,et al.  Data Locality Exploitation in the Decomposition of Regular Domain Problems , 2000, IEEE Trans. Parallel Distributed Syst..

[18]  Marcel Worring,et al.  Face Detection Methods, a critical evaluation , 2000 .

[19]  Arnold W. M. Smeulders,et al.  Decomposition of Separable Concave Structuring Functions , 2004, Journal of Mathematical Imaging and Vision.

[20]  Bjarne Stroustrup,et al.  C++ Programming Language , 1986, IEEE Softw..

[21]  Max A. Viergever,et al.  Scale and the differential structure of images , 1992, Image Vis. Comput..

[22]  J. Koenderink The structure of images , 2004, Biological Cybernetics.

[23]  Ramesh Subramonian,et al.  LogP: towards a realistic model of parallel computation , 1993, PPOPP '93.

[24]  Wojciech Rytter,et al.  Note on Two-Dimensional Pattern Matching by Optimal Parallel Algorithms , 1992, ICPIA.

[25]  Chris J. Scheiman,et al.  LogGP: incorporating long messages into the LogP model—one step closer towards a realistic model for parallel computation , 1995, SPAA '95.

[26]  R. van den Boomgaard,et al.  Background estimation in video sequences , 2000 .

[27]  Edward J. Delp,et al.  Dynamic Intelligent Scheduling and Control of Reconfigurable Parallel Architectures for Computer Vision/Image Processing , 1991, J. Parallel Distributed Comput..

[28]  Danny Crookes,et al.  A PVM Implementation of a Portable Parallel Image Processing Library , 1996, PVM.

[29]  Pieter P. Jonker,et al.  A Comparison of Linear Processor Arrays for Image Processing , 1998, MVA.

[30]  Arnold W. M. Smeulders,et al.  A Minimum Cost Approach for Segmenting Networks of Lines , 2001, International Journal of Computer Vision.

[31]  Cherri M. Pancake,et al.  Do parallel languages respond to the needs of scientific programmers? , 1990, Computer.

[32]  Alan Jay Smith,et al.  Machine Characterization Based on an Abstract High-Level Language Machine , 1989, IEEE Trans. Computers.

[33]  Rin-ichiro Taniguchi,et al.  Software platform for parallel image processing and computer vision , 1997, Optics & Photonics.

[34]  Rudy Lauwereins,et al.  On the Design and Implementation of Broadcast and Global Combine Operations Using the Postal Model , 1996, IEEE Trans. Parallel Distributed Syst..

[35]  Arjan J. C. van Gemund,et al.  Spar: A programming language for semi‐automatic compilation of parallel programs , 1997 .