Scheduling Loops on Parallel Processors: A Simple Algorithm with Close to Optimum Performance
CONPAR '92/ VAPP V Proceedings of the Second Joint International Conference on Vector and Parallel Processing: Parallel Processing
Macro pipelining based scheduling on high performance heterogeneousmultiprocessor systems
IEEE Transactions on Signal Processing
Analyzing Asynchronous Pipeline Schedules
International Journal of Parallel Programming
Heuristic Algorithms for Scheduling Iterative Task Computations on Distributed Memory Machines
IEEE Transactions on Parallel and Distributed Systems
RMOT: recursion in model order for task execution time estimation in a software pipeline
Proceedings of the Conference on Design, Automation and Test in Europe
DAGS: distribution agnostic sequential Monte Carlo scheme for task execution time estimation
Proceedings of the Conference on Design, Automation and Test in Europe
Proceedings of the 48th Design Automation Conference
Proceedings of the International Conference on Computer-Aided Design
Hi-index | 0.00 |
Pipeline execution is a form of parallelism in which subcomputations of a repeated computation, such as statements in the body of a loop, are executed in parallel. A measure of the execution time of a pipeline is needed to determine if pipelining is an effective form of parallelism for a loop, and to evaluate alternative scheduling choices. We derive a formula for precisely determining the asynchronous pipeline execution time of a loop modeled as iterated execution of an acyclic task graph. The formula can be evaluated in time linear in the number of tasks and edges in the graph. We assume that computation and communication times are fixed and known, interprocessor communication and buffering capability are unbounded, and each task is assigned to a distinct processor.