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

Ganesh Lakshminarayana, Anand Raghunathan, Niraj K. Jha

Research output: Contribution to journalArticlepeer-review

28 Scopus citations

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-intensitive 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.

Original languageEnglish (US)
Pages (from-to)308-324
Number of pages17
JournalIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
Volume19
Issue number3
DOIs
StatePublished - Mar 2000

All Science Journal Classification (ASJC) codes

  • Software
  • Computer Graphics and Computer-Aided Design
  • Electrical and Electronic Engineering

Fingerprint Dive into the research topics of 'Incorporating speculative execution into scheduling of control-flow-intensive designs'. Together they form a unique fingerprint.

Cite this