Architecting an Object Recognition System using Parallel Design Patterns

T.G. Brutch and B.-Y. Su (USA)


Parallelization Methodology, Parallel Programming, Parallel Design Patterns, Parallel Software Development.


In this paper, we use an object recognition application as a case study to illustrate our Parallelization Methodology, for architecture, design and development. Our goal was to identify a methodology with a streamlined process for problem analysis, design and development, and use this design methodology in developing a high quality parallel object recognition application, with an efficient and scalable implementation. Our parallelization methodology consists of application design, concurrency analysis, implementation, debugging and testing, and performance tuning phases. In this paper, we focus on the application design, concurrency analysis and implementation phases of the parallelization methodology, to illustrate selection and use of parallel design patterns, during design and implementation phases. In the concurrency analysis phase, we identified key application computations, and performed application decomposition and dependency analysis. During application design, appropriate parallel design patterns were mapped to the problem for efficient parallelization of computations. We illustrate how parallel design patterns were used to guide algorithmic choices during application design, and how design patterns were used in exploring the design space for an efficient implementation, while satisfying the constraints and requirements of the object recognition problem. Applications in the area of object recognition tend to have similar computational flows with variations in input size. A design pattern based approach to parallel software architecture provided us with a common vocabulary for design and development, and helped in meeting the requirements and constraints of the original problem. We found that using our parallelization methodology resulted in a streamlined process for project planning and execution. In this paper, we step through the application design process using parallel design patterns. We review related work in the area of object recognition, and provide detailed experimental results from our object recognition application implementation.

Important Links:

Go Back