Reference idempotency analysis: A framework for optimizing speculative execution

Seon Wook Kim, Chong Liang Ooi, Rudolf Eigenmann, Babak Falsafi, T. N. Vijaykumar

Research output: Contribution to journalArticle

4 Citations (Scopus)

Abstract

Recent proposals for multithreaded architectures allow threads with unknown dependences to execute speculatively in parallel. These architectures use hardware speculative storage to buffer uncertain data, track data dependences and roll back incorrect executions. Because all memory references access the speculative storage, current proposals implement this storage using small memory structures for fast access. The limited capacity of the speculative storage causes considerable performance loss due to speculative storage overflow whenever a thread's speculative state exceeds the storage capacity. Larger threads exacerbate the overflow problem but are preferable to smaller threads, as larger threads uncover more parallelism. In this paper, we discover a new program property called memory reference idempotency. Idempotent references need not be tracked in the speculative storage, and instead can directly access non-speculative storage (i.e., the conventional memory hierarchy). Thus, we reduce the demand for speculative storage space. We define a formal framework for reference idempotency and present a novel compiler-assisted speculative execution model. We prove the necessary and sufficient conditions for reference idempotency using our model. We present a compiler algorithm to label idempotent memory references for the hardware. Experimental results show that for our benchmarks, over 60% of the references in non-parallelizable program sections are idempotent.

Original languageEnglish
Pages (from-to)2-11
Number of pages10
JournalSIGPLAN Notices (ACM Special Interest Group on Programming Languages)
Volume36
Issue number7
Publication statusPublished - 2001 Jul 1
Externally publishedYes

    Fingerprint

ASJC Scopus subject areas

  • Computer Graphics and Computer-Aided Design
  • Software

Cite this