Sentinel Scheduling: A Model for Compiler-Controlled Speculative Execution

Scott A. Mahlke, William Y. Chen, Roger A. Bringmann, Richard E. Hank, Wen Mei W. Hwu, B. Ramakrishna Rau, Michael S. Schlansker

Research output: Contribution to journalArticlepeer-review

Abstract

Speculative execution is an important source of parallelism for VLIW and superscalar processors. A serious challenge with compiler-controlled speculative execution is to efficiently handle exceptions for speculative instructions. In this article, a set of architectural features and compile-time scheduling support collectively referred to as sentinel scheduling is introduced. Sentinel scheduling provides an effective framework for both compiler-controlled speculative execution and exception handling. All program exceptions are accurately detected and reported in a timely manner with sentinel scheduling. Recovery from exceptions is also ensured with the model. Experimental results show the effectiveness of sentinel scheduling for exploiting instruction-level parallelism and overhead associated with exception handling.

Original languageEnglish (US)
Pages (from-to)376-408
Number of pages33
JournalACM Transactions on Computer Systems (TOCS)
Volume11
Issue number4
DOIs
StatePublished - Jan 11 1993

Keywords

  • VlIW processor
  • exception detection
  • exception recovery
  • instruction scheduling
  • instruction-level parallelism
  • speculative execution
  • superscalar processor

ASJC Scopus subject areas

  • General Computer Science

Fingerprint

Dive into the research topics of 'Sentinel Scheduling: A Model for Compiler-Controlled Speculative Execution'. Together they form a unique fingerprint.

Cite this