Hardware support for dynamic activation of compiler-directed computation reuse

Daniel A. Connors, Hillery C. Hunter, Ben Chung Cheng, Wen-Mei W Hwu

Research output: Contribution to journalArticle

Abstract

Compiler-directed Computation Reuse (CCR) enhances program execution speed and efficiency by eliminating dynamic computation redundancy. In this approach, the compiler designates large program regions for potential reuse. During run time, the execution results of these reusable regions are recorded into hardware buffers for future reuse. Previous work shows that CCR can result in significant performance enhancements in general applications. A major limitation of the work is that the compiler relies on value profiling to identify reusable regions, making it difficult to deploy the scheme in many software production environments. This paper presents a new hardware model that alleviates the need for value profiling at compile time. The compiler is allowed to designate reusable regions that may prove to be inappropriate. The hardware mechanism monitors the dynamic behavior of compiler-designated regions and selectively activates the profitable ones at run time. Experimental results show that the proposed design makes more effective utilization of hardware buffer resources, achieves rapid employment of computation regions, and improves reuse accuracy, all of which promote more flexible compiler methods of identifying reusable computation regions.

Original languageEnglish (US)
Pages (from-to)222-233
Number of pages12
JournalSIGPLAN Notices (ACM Special Interest Group on Programming Languages)
Volume35
Issue number11
DOIs
StatePublished - Nov 2000

Fingerprint

Chemical activation
Hardware
Redundancy

ASJC Scopus subject areas

  • Software
  • Computer Graphics and Computer-Aided Design

Cite this

Hardware support for dynamic activation of compiler-directed computation reuse. / Connors, Daniel A.; Hunter, Hillery C.; Cheng, Ben Chung; Hwu, Wen-Mei W.

In: SIGPLAN Notices (ACM Special Interest Group on Programming Languages), Vol. 35, No. 11, 11.2000, p. 222-233.

Research output: Contribution to journalArticle

@article{398dc81e9a9342b9bc8d12eee41170b7,
title = "Hardware support for dynamic activation of compiler-directed computation reuse",
abstract = "Compiler-directed Computation Reuse (CCR) enhances program execution speed and efficiency by eliminating dynamic computation redundancy. In this approach, the compiler designates large program regions for potential reuse. During run time, the execution results of these reusable regions are recorded into hardware buffers for future reuse. Previous work shows that CCR can result in significant performance enhancements in general applications. A major limitation of the work is that the compiler relies on value profiling to identify reusable regions, making it difficult to deploy the scheme in many software production environments. This paper presents a new hardware model that alleviates the need for value profiling at compile time. The compiler is allowed to designate reusable regions that may prove to be inappropriate. The hardware mechanism monitors the dynamic behavior of compiler-designated regions and selectively activates the profitable ones at run time. Experimental results show that the proposed design makes more effective utilization of hardware buffer resources, achieves rapid employment of computation regions, and improves reuse accuracy, all of which promote more flexible compiler methods of identifying reusable computation regions.",
author = "Connors, {Daniel A.} and Hunter, {Hillery C.} and Cheng, {Ben Chung} and Hwu, {Wen-Mei W}",
year = "2000",
month = "11",
doi = "10.1145/356989.357010",
language = "English (US)",
volume = "35",
pages = "222--233",
journal = "ACM SIGPLAN Notices",
issn = "1523-2867",
publisher = "Association for Computing Machinery (ACM)",
number = "11",

}

TY - JOUR

T1 - Hardware support for dynamic activation of compiler-directed computation reuse

AU - Connors, Daniel A.

AU - Hunter, Hillery C.

AU - Cheng, Ben Chung

AU - Hwu, Wen-Mei W

PY - 2000/11

Y1 - 2000/11

N2 - Compiler-directed Computation Reuse (CCR) enhances program execution speed and efficiency by eliminating dynamic computation redundancy. In this approach, the compiler designates large program regions for potential reuse. During run time, the execution results of these reusable regions are recorded into hardware buffers for future reuse. Previous work shows that CCR can result in significant performance enhancements in general applications. A major limitation of the work is that the compiler relies on value profiling to identify reusable regions, making it difficult to deploy the scheme in many software production environments. This paper presents a new hardware model that alleviates the need for value profiling at compile time. The compiler is allowed to designate reusable regions that may prove to be inappropriate. The hardware mechanism monitors the dynamic behavior of compiler-designated regions and selectively activates the profitable ones at run time. Experimental results show that the proposed design makes more effective utilization of hardware buffer resources, achieves rapid employment of computation regions, and improves reuse accuracy, all of which promote more flexible compiler methods of identifying reusable computation regions.

AB - Compiler-directed Computation Reuse (CCR) enhances program execution speed and efficiency by eliminating dynamic computation redundancy. In this approach, the compiler designates large program regions for potential reuse. During run time, the execution results of these reusable regions are recorded into hardware buffers for future reuse. Previous work shows that CCR can result in significant performance enhancements in general applications. A major limitation of the work is that the compiler relies on value profiling to identify reusable regions, making it difficult to deploy the scheme in many software production environments. This paper presents a new hardware model that alleviates the need for value profiling at compile time. The compiler is allowed to designate reusable regions that may prove to be inappropriate. The hardware mechanism monitors the dynamic behavior of compiler-designated regions and selectively activates the profitable ones at run time. Experimental results show that the proposed design makes more effective utilization of hardware buffer resources, achieves rapid employment of computation regions, and improves reuse accuracy, all of which promote more flexible compiler methods of identifying reusable computation regions.

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

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

U2 - 10.1145/356989.357010

DO - 10.1145/356989.357010

M3 - Article

AN - SCOPUS:17544379693

VL - 35

SP - 222

EP - 233

JO - ACM SIGPLAN Notices

JF - ACM SIGPLAN Notices

SN - 1523-2867

IS - 11

ER -