IEEE Transactions on Parallel and Distributed Systems · 1997 · 107 citations · 13 references
ComputingComputer EngineeringComputer ScienceAlgorithmsParallel ComputingSchedulingControl-flow AnalysisData-flow AnalysisData Flow SchedulingDataflow GraphsParallel Data ProcessingParallel ProcessingPolynomial Time ComplexityPolynomial-time AlgorithmsRetimingRetiming Techniques
Loop scheduling is an important problem in parallel processing. The retiming technique reorganizes an iteration; the unfolding technique schedules several iterations together. We combine these two techniques to obtain a static schedule with a reduced average computation time per iteration. We first prove that the order of retiming and unfolding is immaterial for scheduling a data-flow graph (DFG). From this nice property, we present a polynomial-time algorithm on the original DFG, before unfolding, to find the minimum-rate static schedule for a given unfolding factor. For the case of a unit-time DFG, efficient checking and retiming algorithms are presented.
13
Retiming synchronous circuitry
Charles E. Leiserson, James B. Saxe · Algorithmica · 1991 · 999 citations