Static Global Scheduling for Optimal Computer Vision and Image Processing Operations on Distributed-Memory Multiprocessors

In this paper, we develop a static global scheduling scheme for mapping computer vision and image processing (CVIP) operations on distributed-memory multiprocessors. Unlike most current parallel image processing research which focuses on parallelizing individual processing algorithms on a particular parallel architecture, our scheduler is for optimizing processor assignment and data partition for an entire image processing pipeline. The scheduler operates on task graphs specified by conventional visual languages such as Khoros and Explorer. A task graph is assumed to be a linear chain of operations with any number of nested loops. The task chain is first decomposed into simpler subchains; each a linear sequence of tasks without loops. The communication and computation costs of the component tasks in the subchains are determined by a taxonomy of CVIP operations. Data redistribution overheads in between tasks can also be tabulated in advance for many popular data partitioning schemes. The scheduler then employs a shortest path algorithm to optimize the parallel time, taking into consideration possible variation in the task and resource parameters (such as the image size and number of processors used), and both the intra-operation and the inter-operation computation and communication times. In this paper, we present the scheduling scheme, and provide analyses and experimental results to verify our approach.

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

[2]  Sartaj Sahni,et al.  Reconfigurable Mesh Algorithms for the Hough Transform , 1994, J. Parallel Distributed Comput..

[3]  H. T. Kung,et al.  The Warp Computer: Architecture, Implementation, and Performance , 1987, IEEE Transactions on Computers.

[4]  Jon A. Webb,et al.  High performance computing in image processing and computer vision , 1994, Proceedings of the 12th IAPR International Conference on Pattern Recognition, Vol. 2 - Conference B: Computer Vision & Image Processing. (Cat. No.94CH3440-5).

[5]  Tao Yang,et al.  On the Granularity and Clustering of Directed Acyclic Task Graphs , 1993, IEEE Trans. Parallel Distributed Syst..

[6]  Anthony P. Reeves Parallel programming for computer vision , 1991, IEEE Software.

[7]  John R. Kender,et al.  Parallel processing in the DARPA strategic computing vision program , 1991, IEEE Expert.

[8]  Edward J. Delp,et al.  A library-based program development environment for parallel image processing , 1993, Proceedings of Scalable Parallel Libraries Conference.

[9]  R. F. Browne,et al.  Mapping image processing operations onto transputer networks , 1989, Microprocess. Microsystems.

[10]  Manish Gupta,et al.  Demonstration of Automatic Data Partitioning Techniques for Parallelizing Compilers on Multicomputers , 1992, IEEE Trans. Parallel Distributed Syst..

[11]  Richard Wolski,et al.  Program Partitioning for NUMA Multiprocessor Computer Systems , 1993, J. Parallel Distributed Comput..

[12]  George Karypis,et al.  Introduction to Parallel Computing , 1994 .

[13]  Prabir Kumar Biswas,et al.  Component labeling in pyramid architecture , 1993, Pattern Recognit..

[14]  Jake K. Aggarwal,et al.  A System Design/Scheduling Strategy for Parallel Image Processing , 1990, IEEE Trans. Pattern Anal. Mach. Intell..

[15]  Stephen W. Wharton,et al.  Land image data processing requirements for the Eos era , 1989 .

[16]  Susanne E. Hambrusch,et al.  Parallel scalable libraries and algorithms for computer vision , 1994, Proceedings of the 12th IAPR International Conference on Pattern Recognition, Vol. 2 - Conference B: Computer Vision & Image Processing. (Cat. No.94CH3440-5).

[17]  John Rasure,et al.  The Khoros Application Development Environment , 1994 .

[18]  Tao Yang,et al.  PYRROS: static task scheduling and code generation for message passing multiprocessors , 1992 .

[19]  Howard Jay Siegel,et al.  Mapping computer-vision-related tasks onto reconfigurable parallel-processing systems , 1992, Computer.

[20]  Guy L. Steele,et al.  The High Performance Fortran Handbook , 1993 .

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

[22]  Yuan-Fang Wang,et al.  Image analysis for automated tracking in robot-assisted endoscopic surgery , 1994, Proceedings of 12th International Conference on Pattern Recognition.