• DocumentCode
    1078720
  • Title

    Compiling functional parallelism on distributed-memory systems

  • Author

    Pande, Santosh S. ; Agrawal, Dharma P. ; Mauney, Jon

  • Author_Institution
    North Carolina State Univ., Raleigh, NC, USA
  • Volume
    2
  • Issue
    1
  • fYear
    1994
  • Firstpage
    64
  • Lastpage
    76
  • Abstract
    We have developed an automatic compilation method that combines data- and code-based approaches to schedule a program´s functional parallelism onto distributed memory systems. Our method works with Sisal, a parallel functional language, and replaces the back end of the Optimizing Sisal Compiler so that it produces code for distributed memory systems. Our extensions allow the compiler to generate code for Intel´s distributed-memory Touchstone iPSC/860 machines (Gamma, Delta, and Paragon). The modified compiler can generate a partition that minimizes program completion time (for systems with many processors) or the required number of processors (for systems with few processors). To accomplish this, we have developed a heuristic algorithm that uses the new concept of threshold to treat the problem of scheduling as a trade-off between schedule length and the number of required processors. Most compilers for distributed memory systems force the programmer to partition the data or the program code. This modified version of a Sisal compiler handles both tasks automatically in a unified framework, and lets the programmer compile for a chosen number of processors.<>
  • Keywords
    codes; distributed memory systems; functional programming; parallel languages; program compilers; scheduling; Intel´s distributed-memory Touchstone iPSC/860 machines; Optimizing Sisal Compiler; Sisal; automatic compilation method; code-based approaches; data-based approaches; distributed-memory systems; functional parallelism; heuristic algorithm; parallel functional language; partition; program completion time; threshold; Costs; Heuristic algorithms; Minimization methods; Optimizing compilers; Parallel processing; Partitioning algorithms; Processor scheduling; Program processors; Programming profession; Scheduling algorithm;
  • fLanguage
    English
  • Journal_Title
    Parallel & Distributed Technology: Systems & Applications, IEEE
  • Publisher
    ieee
  • ISSN
    1063-6552
  • Type

    jour

  • DOI
    10.1109/88.281878
  • Filename
    281878