Incorporating speculative execution into scheduling of control-flow-intensive designs

被引:25
作者
Lakshminarayana, G [1 ]
Raghunathan, A
Jha, NK
机构
[1] NEC USA, C&C Res Labs, Princeton, NJ 08540 USA
[2] Princeton Univ, Dept Elect Engn, Princeton, NJ 08544 USA
基金
美国国家科学基金会;
关键词
control-flow-intensive behaviors; high-level synthesis; scheduling; speculative execution;
D O I
10.1109/43.833200
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
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 (upto 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.
引用
收藏
页码:308 / 324
页数:17
相关论文
共 42 条
[1]  
Allen J. R., 1983, P 10 ACM SIGACT SIGP, P177
[2]  
AUGUST DI, 1998, INT S COMP ARCH JUL
[3]  
AUGUST DI, 1997, CRHC9505 U ILL
[4]   Control-flow versus data-flow-based scheduling: Combining both approaches in an adaptive scheduling system [J].
Bergamaschi, RA ;
Raje, S ;
Nair, I ;
Trevillyan, L .
IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, 1997, 5 (01) :82-100
[5]  
BRINGMANN RA, 1993, INT S MICR DEC
[6]   SPECULATIVE COMPUTATION, PARALLELISM, AND FUNCTIONAL PROGRAMMING [J].
BURTON, FW .
IEEE TRANSACTIONS ON COMPUTERS, 1985, 34 (12) :1190-1193
[7]   PATH-BASED SCHEDULING FOR SYNTHESIS [J].
CAMPOSANO, R .
IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, 1991, 10 (01) :85-93
[8]   3 ARCHITECTURAL MODELS FOR COMPILER-CONTROLLED SPECULATIVE EXECUTION [J].
CHANG, PP ;
WARTER, NJ ;
MAHLKE, SA ;
CHEN, WY ;
HWU, WW .
IEEE TRANSACTIONS ON COMPUTERS, 1995, 44 (04) :481-494
[9]  
COLWELL R, 1995, P INT SOL STAT CIRC, P176
[10]  
EBCIOGLU K, 1987, P 20 ANN WORKSH MICR, P69