EXPLORING SHARED MEMORY AND HYBRID PARALLELIZATION STRATEGIES FOR IMAGE PROCESSING
Vishwanath Venkatesan · 2008
The introduction of multi-core architectures has lead shared memory programming to mainstream parallel computing for scientific applications. Since its introduction OpenMP has been a wide spread paradigm for shared memory programming. With its inherent compatibility to other parallel programming paradigms, OpenMP facilitates easier use of the hybrid parallelization for clustered multi-core platforms. This thesis evaluates parallelization strategies for image processing applications. Among the investigated applications are: a texture-based segmentation code for thyroid Fine Needle Aspiration Cytology (FNAC) images, a Partial Differential Equation (PDE)-based application for time independent problems and a PDE solver for time-dependent problems. The necessity for parallelizing image processing algorithm stems from the fact that the resolution of images has increased over the years and the computational complexity of image processing algorithms is high. These applications were parallelized with OpenMP for shared memory architecture and using a hybrid parallelization approach using MPI and OpenMP for cluster of SMP’s. All OpenMP parallelized applications were evaluated on an eight processor dualcore Opteron system. The hybrid applications were evaluated on a 24 node dual-core AMD Opteron cluster connected by a 4x InfiniBand network interconnect. In most cases the parallelization resulted in good performance and scalability. Furthermore, the thesis presents the experiences in parallelizing the applications with both parallelization strategies.