• DocumentCode
    1462800
  • Title

    Guaranteeing good memory bounds for parallel programs

  • Author

    Burton, F. Warren

  • Author_Institution
    Sch. of Comput. Sci., Simon Fraser Univ., Burnaby, BC, Canada
  • Volume
    22
  • Issue
    10
  • fYear
    1996
  • fDate
    10/1/1996 12:00:00 AM
  • Firstpage
    762
  • Lastpage
    773
  • Abstract
    The amount of memory required by a parallel program may be spectacularly larger than the memory required by an equivalent sequential program, particularly for programs that use recursion extensively. Since most parallel programs are nondeterministic in behavior, even when computing a deterministic result, parallel memory requirements may vary from run to run, even with the same data. Hence, parallel memory requirements may be both large (relative to memory requirements of an equivalent sequential program) and unpredictable. Assume that each parallel program has an underlying sequential execution order that may be used as a basis for predicting parallel memory requirements. We propose a simple restriction that is sufficient to ensure that any program that will run in n units of memory sequentially can run in mn units of memory on m processors, using a scheduling algorithm that is always within a factor of two of being optimal with respect to time. Any program can be transformed into one that satisfies the restriction, but some potential parallelism may be lost in the transformation. Alternatively, it is possible to define a parallel programming language in which only programs satisfying the restriction can be written
  • Keywords
    parallel languages; parallel programming; processor scheduling; storage allocation; storage management; memory bounds; nondeterministic programs; optimal time; parallel memory requirements; parallel programming language; parallel programs; recursion; scheduling algorithm; sequential execution order; sequential program; Concurrent computing; Dynamic programming; Parallel processing; Parallel programming; Processor scheduling; Scheduling algorithm;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/32.544353
  • Filename
    544353