Parallel implementation and evaluation of a motion estimation system algorithm using several data decomposition strategies

Abstract Computer vision systems employ a sequence of algorithms that exhibit different computational characteristics. These algorithms require different data decomposition and load balancing techniques for efficient parallel implementations. This paper presents several techniques to perform static and dynamic data decomposition for common computer vision algorithms. They exploit the distribution of features as a measure of load for data decomposition. In these techniques, the distribution of features computed during the parallel execution of the current algorithm allows an informed partitioning for the next algorithm in the pipeline, keeping overhead involved in estimating the load small. Performance results obtained from a shared memory multiprocessor implementation using these techniques are presented. Furthermore, a classification of common vision algorithms based on their suitability for one or more data decomposition techniques is given. Improvements of up to four times over the performance of uniform block-oriented partitioning were obtained.

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

[2]  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.

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

[4]  Janak H. Patel,et al.  Load balancing and task decomposition techniques for parallel implementation of integrated vision systems algorithms , 1989, Proceedings of the 1989 ACM/IEEE Conference on Supercomputing (Supercomputing '89).

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

[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]  Sanjay Ranka,et al.  Software development tools for implementing vision systems on multiprocessors , 1991 .

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

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

[12]  Harold S. Stone,et al.  Critical Load Factors in Two-Processor Distributed Systems , 1978, IEEE Transactions on Software Engineering.

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

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

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

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

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