Deriving Parallel Codes Via Invariants

Wn Chin,Sc Khoo,Zj Hu,M Takeichi
DOI: https://doi.org/10.1007/978-3-540-45099-3_5
2000-01-01
Abstract:Systematic parallelization of sequential programs remains a major challenge in parallel computing. Traditional approaches using program schemes tend to be narrower in scope, as the properties which:enable parallelism axe difficult to capture via ad-hoc schemes. In [CTH98], a systematic approach to parallelization based on the notion of preserving the context of recursive sub-terms has been proposed. This approach can be used to derive a class of divide-and-conquer algorithms. In this paper, we enhance the methodology by using invariants to guide the parallelization process. The enhancement enables the parallelization of a class of recursive functions with conditional and tupled constructs, which were not possible previously. We further show how such invariants can be discovered and verified systematically, and demonstrate the power of our methodology by deriving a parallel code for maximum segment product. To the best of our knowledge, this is the first systematic parallelization for the maximum segment product problem.
What problem does this paper attempt to address?