Speculative pre-execution assisted by compiler (SPEAR)

  • Authors:
  • Won W. Ro;Jean-Luc Gaudiot

  • Affiliations:
  • Department of Electrical and Computer Engineering, California State University, Northridge, CA;Department of Electrical Engineering and Computer Science, University of California, Irvine, CA and Henry Samueli School of Engineering, University of California, Irvine, CA

  • Venue:
  • Journal of Parallel and Distributed Computing - Special issue on parallel bioinspired algorithms
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

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