• DocumentCode
    921315
  • Title

    Automatic extraction of functional parallelism from ordinary programs

  • Author

    Girkar, Milind ; Polychronopoulos, Constantine D.

  • Author_Institution
    Center for Superconducting Res. & Dev., Illinois Univ., Urbana, IL, USA
  • Volume
    3
  • Issue
    2
  • fYear
    1992
  • fDate
    3/1/1992 12:00:00 AM
  • Firstpage
    166
  • Lastpage
    178
  • Abstract
    Presents the hierarchical task graph (HTG) as an intermediate parallel program representation which encapsulates minimal data and control dependences, and which can be used for the extraction and exploitation of functional, or task-level parallelism. The hierarchical nature of the HTG facilitates efficient task-granularity control during code generation, and thus applicability to a variety of parallel architectures. The construction of the HTG at a given hierarchy level, the derivation of the execution conditions of tasks which maximizes task-level parallelism, and the optimization of these conditions which results in reducing synchronization overhead imposed by data and control dependences are emphasized. Algorithms for the formation of tasks and their execution conditions based on data and control dependence constraints are presented. The issue of optimization of such conditions is discussed, and optimization algorithms are proposed. The HTG is used as the intermediate representation of parallel Fortran and C programs for generating parallel source as well as parallel machine code
  • Keywords
    directed graphs; parallel programming; program compilers; programming theory; automatic extraction; code generation; control dependences; execution conditions; functional parallelism; hierarchical task graph; intermediate parallel program representation; minimal data; optimization algorithms; ordinary programs; parallel C programs; parallel Fortran programs; parallel architectures; parallel machine code; parallel source code; synchronization overhead; task-granularity control; task-level parallelism; Computational modeling; Concurrent computing; Data mining; Helium; Parallel architectures; Parallel languages; Parallel machines; Parallel processing; Parallel programming; Program processors;
  • fLanguage
    English
  • Journal_Title
    Parallel and Distributed Systems, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    1045-9219
  • Type

    jour

  • DOI
    10.1109/71.127258
  • Filename
    127258