Results 1 
3 of
3
Determining Asynchronous Pipeline Execution Times
 Proc. 9th Workshop on Languages and Compilers for Parallel Computing
, 1996
"... Asynchronous pipelining is a form of parallelism in which processors execute different loop tasks (loop statements) as opposed to different loop iterations. An asynchronous pipeline schedule for a loop is an assignment of loop tasks to processors, plus an order on instances of tasks assigned to the ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
(Show Context)
Asynchronous pipelining is a form of parallelism in which processors execute different loop tasks (loop statements) as opposed to different loop iterations. An asynchronous pipeline schedule for a loop is an assignment of loop tasks to processors, plus an order on instances of tasks assigned to the same processor. This variant of pipelining is particularly relevant in distributed memory systems (since pipeline control may be distributed across processors), but may also be used in shared memory systems. Accurate estimation of the execution time of a pipeline schedule is needed to determine if pipelining is appropriate for a loop, and to compare alternative schedules. Pipeline execution of n iterations of a loop requires time at most a + bn, for some constants a and b. The coefficient b is the iteration interval of the pipeline schedule, and is the primary measure of the performance of a schedule. The startup time a is a secondary performance measure. We generalize previous work on det...
Performance Prediction in Symbolic Scheduling of Partitioned Programs with Weight Variation
"... In this paper we consider the symbolic scheduling of partitioned loop programs which are modeled as iterative task graphs (ITGs). Each task in such a graph is coarse grained and contains a large chunk of computations. The weights of computation and communication vary from one iteration to another de ..."
Abstract
 Add to MetaCart
(Show Context)
In this paper we consider the symbolic scheduling of partitioned loop programs which are modeled as iterative task graphs (ITGs). Each task in such a graph is coarse grained and contains a large chunk of computations. The weights of computation and communication vary from one iteration to another depending on the index value of the loop. The goal of scheduling such graphs is to incorporate the symbolic variables in weight functions and loop bounds and provide an asymptotically optimal schedule and predict its performance accurately. We provide a lower bound for optimal scheduling when weights of iterative task graphs change monotonically in the course of iterations and there is a sufficient number of processors. We present a technique that devises a valid symbolic schedule without searching all task instances and examine the asymptotic performance of this schedule compared to an optimal solution. Finally, we present case studies and experimental results on nCUBE2 to verify our solutio...
Analyzing Asynchronous Pipeline Schedules
, 1997
"... Asynchronous pipelining is a form of parallelism which may be used in distributed memory systems. An asynchronous pipeline schedule is a generalization of a noniterative DAG schedule. Accurate estimation of the execution time of a pipeline schedule is needed to determine if pipelining is appropriate ..."
Abstract
 Add to MetaCart
(Show Context)
Asynchronous pipelining is a form of parallelism which may be used in distributed memory systems. An asynchronous pipeline schedule is a generalization of a noniterative DAG schedule. Accurate estimation of the execution time of a pipeline schedule is needed to determine if pipelining is appropriate for a loop, and to compare alternative schedules. Pipeline execution of n iterations of a loop requires time at most a + bn, for some constants a and b. The coefficient b is the iteration interval of the pipeline schedule, and is the primary measure of the performance of a schedule. The startup time a is a secondary performance measure. We generalize previous work on determining if a pipeline schedule will deadlock, and generalize Reiter's wellknown formula (1) for determining the iteration interval b of a deadlockfree schedule, to account for nonzero communication times (easy) and the assignment of multiple tasks to processors (nontrivial). Two key components of our generalization are ...