FASTEST: A practical low-complexity algorithm for compile-time assignment of parallel programs to multiprocessors

Research output: Contribution to journalArticlepeer-review

29 Citations (Scopus)

Abstract

In the area of parallelizing compilers, considerable research has been carried out on data dependency analysis, parallelism extraction, as well as program and data partitioning. However, designing a practical, low complexity scheduling algorithm without sacrificing performance remains a challenging problem. A variety of heuristics have been proposed to generate efficient solutions but they take prohibitively long execution times for moderate size or large problems. In this paper, we propose an algorithm called FASTEST (Fast Assignment and Scheduling of Tasks using an Efficient Search Technique) that has O(e) time complexity, where e is the number of edges in the task graph. The algorithm first generates an initial solution in a short time and then refines it by using a simple but robust random neighborhood search. We have also parallelized the search to further lower the time complexity. We are using the algorithm in a prototype automatic parallelization and scheduling tool which compiles sequential code and generates parallel code optimized with judicious scheduling. The proposed algorithm is evaluated with several application programs and outperforms a number of previous algorithms by generating parallelized code with shorter execution times, while taking dramatically shorter scheduling times. The FASTEST algorithm generates optimal solutions for a majority of the test cases and close-to-optimal solutions for the rest.

Original languageEnglish
Pages (from-to)147-159
Number of pages13
JournalIEEE Transactions on Parallel and Distributed Systems
Volume10
Issue number2
DOIs
Publication statusPublished - 1999
Externally publishedYes

Keywords

  • Automatic parallelization
  • Compile-time scheduling
  • Multiprocessors
  • Parallel algorithm
  • Parallel processing
  • Parallel programming tool
  • Random neighborhood search
  • Task graphs

Fingerprint

Dive into the research topics of 'FASTEST: A practical low-complexity algorithm for compile-time assignment of parallel programs to multiprocessors'. Together they form a unique fingerprint.

Cite this