2005 · 80 citations · 29 references
ComputingComputer EngineeringComputer ScienceDistributed SystemsParallel ComputingSchedulingData ParallelismDistributed ComputingDistributed SchedulingParallel ComputationTask ParallelismTask SchedulingCompile-time OptimizationData-parallel AlgorithmsMatrix MultiplicationParallel SchedulingParallel Scheduling AlgorithmsParallel Task SchedulingStrassen's Matrix MultiplicationTask Graphs
It is well-known that mixing task and data parallelism to solve large computational applications often yields better speedups compared to either applying pure task parallelism or pure data parallelism. Typically, the applications are modeled in terms of a dependence graph of coarse-grain data-parallel tasks, called a data-parallel task graph. In this paper we present a new compile-time heuristic, named Critical Path Reduction (CPR), for scheduling data-parallel task graphs. Experimental results based on graphs derived from real problems as well as synthetic graphs, show that CPR achieves higher speedup compared to other well-known existing scheduling algorithms, at the expense of some higher cost. These results are also confirmed by performance measurements of two real applications (i.e., complex matrix multiplication and Strassen matrix multiplication) running on a cluster of workstations.
29
Bounds on Multiprocessing Timing Anomalies
Ron Graham · SIAM Journal on Applied Mathematics · 1969 · 2.4K citations
Monica S. Lam · ACM SIGPLAN Notices · 2004 · 890 citations