• DocumentCode
    994960
  • Title

    Parallelizing subroutines in sequential programs

  • Author

    Chu, Chih-Ping ; Carver, Doris L.

  • Author_Institution
    Nat. Cheng Kung Univ., Tainan, Taiwan
  • Volume
    11
  • Issue
    1
  • fYear
    1994
  • Firstpage
    77
  • Lastpage
    85
  • Abstract
    An algorithm for making sequential programs parallel is described, which first identifies all subroutines, then determines the appropriate execution mode and restructures the code. It works recursively to parallelize the entire program. We use Fortran in our work, but many of the concepts apply to other languages. Our hardware model is a shared-memory multiprocessor system with a fixed number of identical processors, each with its own local memory connected to a common memory that is accessible to all processors equally. The model implements interprocessor synchronization and communication via special memory locations or special storage. Systems like the Cray X-MP, IBM 3090, and Alliant FX/8 fit this model. Our input is a sequential, structured Fortran program with no overlapping branches. With today´s emphasis on writing structured code, this restriction is reasonable. A prototype of a system to implement the algorithm is under development on an IBM 3090 multiprocessor.<>
  • Keywords
    IBM computers; parallel algorithms; parallel programming; structured programming; subroutines; Alliant FX/8; Cray X-MP; IBM 3090 multiprocessor; code restructuring; common memory; execution mode; interprocessor communication; interprocessor synchronization; local memory; recursive process; sequential programs; shared-memory multiprocessor system; special memory locations; structured Fortran program; subroutine parallelization; Algorithms; Hardware; Multiprocessing systems; Prototypes; Writing;
  • fLanguage
    English
  • Journal_Title
    Software, IEEE
  • Publisher
    ieee
  • ISSN
    0740-7459
  • Type

    jour

  • DOI
    10.1109/52.251214
  • Filename
    251214