DocumentCode
824241
Title
Requirements for optimal execution of loops with tests
Author
Uht, Augustus K.
Author_Institution
Dept. of Comput. Sci. & Eng., California Univ., San Diego, CA, USA
Volume
3
Issue
5
fYear
1992
fDate
9/1/1992 12:00:00 AM
Firstpage
573
Lastpage
581
Abstract
Both the efficient execution of branch intensive code and knowing the bounds on the same are important issues in computing in general and supercomputing in particular. In prior work, it has been suggested that the hardware needed to execute code with branches optimally is exponentially dependent on the total number of dynamic branches executed, this number of branches being proportional at least to the number of iterations of the loop. For classes of code taking at least one cycle per iteration to execute, this is not the case. For loops containing one test (normally in the form of a Boolean recurrence of order one), it is shown that the hardware necessary varies from exponential to polynomial in the length of the dependence cycle L , while execution time varies from one time cycle per iteration to less than L time cycles per iteration; the variation depends on specific code dependences. These results bring the eager evaluation of imperative code closer to fruition
Keywords
parallel programming; Boolean recurrence; branch intensive code; dependence cycle; dynamic branches; imperative code; loop iterations; loops with tests; order one; time cycle; Application software; Computer science; Concurrent computing; Hardware; Optimal control; Parallel machines; Pipelines; Supercomputers; Testing; Timing;
fLanguage
English
Journal_Title
Parallel and Distributed Systems, IEEE Transactions on
Publisher
ieee
ISSN
1045-9219
Type
jour
DOI
10.1109/71.159040
Filename
159040
Link To Document