DocumentCode :
1321039
Title :
Incorporating speculative execution into scheduling of control-flow-intensive designs
Author :
Lakshminarayana, Ganesh ; Raghunathan, Anand ; Jha, Niraj K.
Author_Institution :
C&C Res. Labs., NEC USA, Princeton, NJ, USA
Volume :
19
Issue :
3
fYear :
2000
fDate :
3/1/2000 12:00:00 AM
Firstpage :
308
Lastpage :
324
Abstract :
Speculative execution refers to the execution of parts of a computation before the execution of the conditional operations that decide whether they need to be executed. It has been shown to be a promising technique for eliminating performance bottlenecks imposed by control flow in hardware and software implementations alike. In this paper, we present techniques to incorporate speculative execution in a fine-grained manner into scheduling of control-flow-intensive behavioral descriptions. We demonstrate that failing to take into account information such as resource constraints and branch probabilities can lead to significantly suboptimal performance. We also demonstrate that it may be necessary to speculate simultaneously along multiple paths, subject to resource constraints, in order to minimize the delay overheads incurred when prediction errors occur. Experimental results on several benchmarks show that our speculative scheduling algorithm can result in significant (up to seven-fold) improvements in performance (measured in terms of the average number of clock cycles) as compared to scheduling without speculative execution. Also, the best and worst case execution times for the speculatively performed schedules are the same as or better than the corresponding values for the schedules obtained without speculative execution
Keywords :
circuit CAD; high level synthesis; probability; scheduling; behavioral descriptions; branch probabilities; control-flow-intensive designs; delay overheads; prediction errors; resource constraints; speculative execution; speculative scheduling algorithm; Arithmetic; Clocks; Delay; Hardware; High level synthesis; Laboratories; Processor scheduling; Scheduling algorithm; Software performance; Telecommunication control;
fLanguage :
English
Journal_Title :
Computer-Aided Design of Integrated Circuits and Systems, IEEE Transactions on
Publisher :
ieee
ISSN :
0278-0070
Type :
jour
DOI :
10.1109/43.833200
Filename :
833200
Link To Document :
بازگشت