Algorithmic concept recognition support for skeleton based parallel programming - Di Martino, B. (Proceedings International Parallel and Distributed Processing Symposium, 2003)
Parallel skeletons have been proposed as a possible programming model for parallel architectures. One of the problems with this approach is the choice of the skeleton which is best suited to the characteristics of the algorithm/program to be developed/parallelized, and of the target architecture, in terms of performance of the parallel implementation. Another problem arising with parallelization of legacy codes is the attempt to minimize the effort needed for program comprehension, and thus to achieve the minimum restructuring of the sequential code when producing the parallel version. In this paper we propose automated program comprehension at the algorithmic level as a driving feature in the task of selection of the proper parallel skeleton, best suited to the characteristics of the algorithm/program and of the target architecture. Algorithmic concept recognition can automate or support the generation of parallel code through instantiation of the selected parallel skeleton(s) with template based transformations of recognized code segments.