Title :
Determining asynchronous acyclic pipeline execution times
Author :
Donaldson, Val ; Ferrante, Jeanne
Author_Institution :
Dept. of Comput. Sci. & Eng., California Univ., San Diego, La Jolla, CA, USA
Abstract :
Pipeline execution is a form of parallelism in which sub-computations 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 a time that is linear in the number of tasks and edges in the graph. We assume that computation and communication times are fixed and known, the interprocessor communication and buffering capability are unbounded, and each task is assigned to a distinct processor
Keywords :
computational complexity; flow graphs; iterative methods; parallel programming; pipeline processing; processor scheduling; program control structures; acyclic task graph; asynchronous acyclic pipeline execution times; communication time; computation time; graph edges; iterated execution; loop body statements; parallel subcomputations; parallelism; repeated computation; scheduling choices; task assignment; unbounded buffering capability; unbounded interprocessor communication; Application software; Computer science; Concurrent computing; Hardware; History; Parallel processing; Pipeline processing; Processor scheduling; Software performance; Time measurement;
Conference_Titel :
Parallel Processing Symposium, 1996., Proceedings of IPPS '96, The 10th International
Conference_Location :
Honolulu, HI
Print_ISBN :
0-8186-7255-2
DOI :
10.1109/IPPS.1996.508113