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

Data storage equipment
Computer hardware
Labels
Hardware

ASJC Scopus subject areas

  • Computer Graphics and Computer-Aided Design
  • Software

Cite this

Reference idempotency analysis : A framework for optimizing speculative execution. / Kim, Seon Wook; Ooi, Chong Liang; Eigenmann, Rudolf; Falsafi, Babak; Vijaykumar, T. N.

In: SIGPLAN Notices (ACM Special Interest Group on Programming Languages), Vol. 36, No. 7, 01.07.2001, p. 2-11.

Research output: Contribution to journalArticle

Kim, Seon Wook ; Ooi, Chong Liang ; Eigenmann, Rudolf ; Falsafi, Babak ; Vijaykumar, T. N. / Reference idempotency analysis : A framework for optimizing speculative execution. In: SIGPLAN Notices (ACM Special Interest Group on Programming Languages). 2001 ; Vol. 36, No. 7. pp. 2-11.
@article{9e52bf84a8da42418fbde73066698868,
title = "Reference idempotency analysis: A framework for optimizing speculative execution",
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.",
author = "Kim, {Seon Wook} and Ooi, {Chong Liang} and Rudolf Eigenmann and Babak Falsafi and Vijaykumar, {T. N.}",
year = "2001",
month = "7",
day = "1",
language = "English",
volume = "36",
pages = "2--11",
journal = "ACM SIGPLAN Notices",
issn = "1523-2867",
publisher = "Association for Computing Machinery (ACM)",
number = "7",

}

TY - JOUR

T1 - Reference idempotency analysis

T2 - A framework for optimizing speculative execution

AU - Kim, Seon Wook

AU - Ooi, Chong Liang

AU - Eigenmann, Rudolf

AU - Falsafi, Babak

AU - Vijaykumar, T. N.

PY - 2001/7/1

Y1 - 2001/7/1

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

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

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

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

M3 - Article

AN - SCOPUS:17644376234

VL - 36

SP - 2

EP - 11

JO - ACM SIGPLAN Notices

JF - ACM SIGPLAN Notices

SN - 1523-2867

IS - 7

ER -