Run-time data decomposition for parallel implementation of image processing and computer vision tasks

This paper presents several static and dynamic data decomposition techniques for parallel implementation of common computer vision algorithms. These techniques use the distribution of features in the input data as a measure of load for data decomposition. Experimental results are presented by implementing algorithms from a motion estimation system using these techniques on a hypercube multiprocessor. Normally in a vision system a sequence of algorithms is employed in which output of an algorithm is input to the next algorithm in the sequence. The distribution of features computed as a by-product of the current task is used to repartition the data for the next task in the system. This allows parallel computation of feature distribution, and therefore the overhead of estimating the load is kept small. It is observed that the communication overhead to repartition data using these run-time decomposition techniques is very small. It is shown that significant performance improvements over uniform-block-oriented partitioning schemes are obtained.

[1]  Walter H. Kohler,et al.  Models for Dynamic Load Balancing in a Heterogeneous Multiple Processor System , 1979, IEEE Transactions on Computers.

[2]  M. Willebeek-LeMair,et al.  A localized dynamic load balancing strategy for highly parallel systems , 1990, [1990 Proceedings] The Third Symposium on the Frontiers of Massively Parallel Computation.

[3]  Dana H. Ballard,et al.  Generalizing the Hough transform to detect arbitrary shapes , 1981, Pattern Recognit..

[4]  Shahid H. Bokhari,et al.  A Partitioning Strategy for Nonuniform Problems on Multiprocessors , 1987, IEEE Transactions on Computers.

[5]  George Cybenko,et al.  Dynamic Load Balancing for Distributed Memory Multiprocessors , 1989, J. Parallel Distributed Comput..

[6]  Alok Nidhi Choudhary,et al.  Parallel architectures and parallel algorithms for integrated vision systems , 1989 .

[7]  Chong-Wei Xu,et al.  A Distributed Drafting Algorithm for Load Balancing , 1985, IEEE Transactions on Software Engineering.

[8]  Joel H. Saltz,et al.  A Comparative Analysis of Static and Dynamic Load Balancing Strategies , 1986, ICPP.

[9]  Janak H. Patel,et al.  Point matching in a time sequence of stereo image pairs and its parallel implementation on a multiprocessor , 1989, [1989] Proceedings. Workshop on Visual Motion.

[10]  Gérard G. Medioni,et al.  Detection of Intensity Changes with Subpixel Accuracy Using Laplacian-Gaussian Masks , 1986, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[11]  Joel H. Saltz,et al.  Dynamic Remapping of Parallel Computations with Varying Resource Demands , 1988, IEEE Trans. Computers.

[12]  Edward D. Lazowska,et al.  Adaptive load sharing in homogeneous distributed systems , 1986, IEEE Transactions on Software Engineering.

[13]  John A. Stankovic,et al.  An Application of Bayesian Decision Theory to Decentralized Control of Job Scheduling , 1985, IEEE Transactions on Computers.

[14]  Asser N. Tantawi,et al.  Optimal static load balancing in distributed computer systems , 1985, JACM.

[15]  David M. Nicol,et al.  Optimal Dynamic Remapping of Data Parallel Computations , 1990, IEEE Trans. Computers.

[16]  Krithi Ramamritham,et al.  Evaluation of a flexible task scheduling algorithm for distributed hard real-time systems , 1985, IEEE Transactions on Computers.

[17]  Alok N. Choudhary,et al.  Implementation and Evaluation of Hough Transform Algorithms on a Shared-Memory Multiprocessor , 1991, J. Parallel Distributed Comput..

[18]  Shahid H. Bokhari Partitioning Problems in Parallel, Pipelined, and Distributed Computing , 1988, IEEE Trans. Computers.