Speculative pre-execution assisted by compiler (SPEAR)

Won W. Ro, Jean Luc Gaudiot

Research output: Contribution to journalArticlepeer-review

2 Citations (Scopus)


Speculative pre-execution achieves efficient data prefetching by running additional prefetching threads on spare hardware contexts. Various implementations for speculative pre-execution have been proposed, including compiler-based static approaches and hardware-based dynamic approaches. A static approach defines the p-thread at compile time and executes it as a stand-alone running thread. Therefore, it cannot efficiently take dynamic events into account and requires a higher fetch bandwidth. Conversely, a hardware approach is, by essence, able to dynamically make use run-time information. However, it requires more complex hardware and also lacks global information on data and control flow. This paper proposes Speculative Pre-Execution Assisted by compileR (SPEAR), a pre-execution model which is a hybrid of the two approaches. It relies on a post-compiler to extract the p-thread code from program binaries and uses custom- designed hardware to execute the p-thread.

Original languageEnglish
Pages (from-to)1076-1089
Number of pages14
JournalJournal of Parallel and Distributed Computing
Issue number8
Publication statusPublished - 2006 Aug

Bibliographical note

Funding Information:
This paper is based upon work supported in part by NSF Grant No. CCF-0541403. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of the National Science Foundation.

All Science Journal Classification (ASJC) codes

  • Software
  • Theoretical Computer Science
  • Hardware and Architecture
  • Computer Networks and Communications
  • Artificial Intelligence


Dive into the research topics of 'Speculative pre-execution assisted by compiler (SPEAR)'. Together they form a unique fingerprint.

Cite this