Proceedings 1997 International Conference on Parallel Architectures and Compilation Techniques (1997)
San Francisco, CA
Nov. 11, 1997 to Nov. 15, 1997
Proposes a parallel randomized algorithm, called PFAST (Parallel Fast Assignment using Search Technique), for scheduling parallel programs represented by directed acyclic graphs (DAGs) during compile-time. The PFAST algorithm has O(e) time complexity, where e is the number of edges in the DAG. This linear-time algorithm works by first generating an initial solution and then refining it using a parallel random search. Using a prototype computer-aided parallelization and scheduling tool called CASCH (Computer-Aided SCHeduling), the algorithm is found to outperform numerous previous algorithms while taking dramatically smaller execution times. The distinctive feature of this research is that, instead of simulations, our proposed algorithm is evaluated and compared with other algorithms using the CASCH tool with real applications running on an Intel Paragon. The PFAST algorithm is also evaluated with randomly generated DAGs for which optimal schedules are known. The algorithm generated optimal solutions for a majority of the test cases and close-to-optimal solutions for the others. The proposed algorithm is the fastest scheduling algorithm known to us and is an attractive choice for scheduling under running time constraints.
parallel programming; parallel randomized algorithm; compile-time scheduling; parallel programs; multiprocessors; PFAST algorithm; parallel fast assignment; parallel random search technique; directed acyclic graphs; time complexity; linear-time algorithm; computer-aided parallelization; computer-aided scheduling tool; CASCH tool; execution times; Intel Paragon; running time constraints
I. Ahmad and Y. Kwok, "A Parallel Algorithm For Compile-Time Scheduling Of Parallel Programs On Multiprocessors," Proceedings 1997 International Conference on Parallel Architectures and Compilation Techniques(PACT), San Francisco, CA, 1997, pp. 90.