Towards automated code parallelization through program comprehension

Currently available parallelizing tools are biased in favor of a particular parallel execution model for generating the output parallel program. This obviously limits the generality of these tools, since programs may be parallelized according to different programming paradigms. In this paper we propose a novel approach to automated code parallelization that tries to overcome these limitations. This approach consists in recognizing first the paradigm that as best suited to a given program to be parallelized, and then applying paradigm-specific transformation to generate the final parallel code. We argue that the recognition phase can be fully automated using techniques developed in the framework of automated program understanding. With the help of a case study, we discuss how this new approach could be implemented and propose the basic structure of a paradigm-oriented parallelizer.<<ETX>>