Speculative pre-execution assisted by compiler (SPEAR)

Won W. Ro, Jean Luc Gaudiot

Research output: Contribution to journalArticle

2 Citations (Scopus)

Abstract

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
Volume66
Issue number8
DOIs
Publication statusPublished - 2006 Aug 1

Fingerprint

Compiler
Thread
Hardware
Prefetching
Data Flow
Flow control
Bandwidth
Binary
Model

All Science Journal Classification (ASJC) codes

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

Cite this

@article{048531529f5141ada80007eb1918a57f,
title = "Speculative pre-execution assisted by compiler (SPEAR)",
abstract = "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.",
author = "Ro, {Won W.} and Gaudiot, {Jean Luc}",
year = "2006",
month = "8",
day = "1",
doi = "10.1016/j.jpdc.2006.03.010",
language = "English",
volume = "66",
pages = "1076--1089",
journal = "Journal of Parallel and Distributed Computing",
issn = "0743-7315",
publisher = "Academic Press Inc.",
number = "8",

}

Speculative pre-execution assisted by compiler (SPEAR). / Ro, Won W.; Gaudiot, Jean Luc.

In: Journal of Parallel and Distributed Computing, Vol. 66, No. 8, 01.08.2006, p. 1076-1089.

Research output: Contribution to journalArticle

TY - JOUR

T1 - Speculative pre-execution assisted by compiler (SPEAR)

AU - Ro, Won W.

AU - Gaudiot, Jean Luc

PY - 2006/8/1

Y1 - 2006/8/1

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

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

UR - http://www.scopus.com/inward/record.url?scp=33745698951&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=33745698951&partnerID=8YFLogxK

U2 - 10.1016/j.jpdc.2006.03.010

DO - 10.1016/j.jpdc.2006.03.010

M3 - Article

AN - SCOPUS:33745698951

VL - 66

SP - 1076

EP - 1089

JO - Journal of Parallel and Distributed Computing

JF - Journal of Parallel and Distributed Computing

SN - 0743-7315

IS - 8

ER -