Practical automatic loop specialization

Taewook Oh, Hanjun Kim, Nick P. Johnson, Jae W. Lee, David I. August

Research output: Contribution to journalArticle

2 Citations (Scopus)

Abstract

Program specialization optimizes a program with respect to program invariants, including known, fixed inputs. These invariants can be used to enable optimizations that are otherwise unsound. In many applications, a program input induces predictable patterns of values across loop iterations, yet existing specializers cannot fully capitalize on this opportunity. To address this limitation, we present Invariant-induced Pattern based Loop Specialization (IPLS), the first fully-automatic specialization technique designed for everyday use on real applications. Using dynamic information-flow tracking, IPLS profiles the values of instructions that depend solely on invariants and recognizes repeating patterns across multiple iterations of hot loops. IPLS then specializes these loops, using those patterns to predict values across a large window of loop iterations. This enables aggressive optimization of the loop; conceptually, this optimization reconstructs recurring patterns induced by the input as concrete loops in the specialized binary. IPLS specializes realworld programs that prior techniques fail to specialize without requiring hints from the user. Experiments demonstrate a geomean speedup of 14.1% with a maximum speedup of 138% over the original codes when evaluated on three script interpreters and eleven scripts each.

Original languageEnglish
Pages (from-to)419-430
Number of pages12
JournalACM SIGPLAN Notices
Volume48
Issue number4
DOIs
Publication statusPublished - 2013 Apr 1

Fingerprint

Concretes
Experiments

All Science Journal Classification (ASJC) codes

  • Computer Science(all)

Cite this

Oh, T., Kim, H., Johnson, N. P., Lee, J. W., & August, D. I. (2013). Practical automatic loop specialization. ACM SIGPLAN Notices, 48(4), 419-430. https://doi.org/10.1145/2499368.2451161
Oh, Taewook ; Kim, Hanjun ; Johnson, Nick P. ; Lee, Jae W. ; August, David I. / Practical automatic loop specialization. In: ACM SIGPLAN Notices. 2013 ; Vol. 48, No. 4. pp. 419-430.
@article{1924fa6114a34a42aa9b1da3dac55b71,
title = "Practical automatic loop specialization",
abstract = "Program specialization optimizes a program with respect to program invariants, including known, fixed inputs. These invariants can be used to enable optimizations that are otherwise unsound. In many applications, a program input induces predictable patterns of values across loop iterations, yet existing specializers cannot fully capitalize on this opportunity. To address this limitation, we present Invariant-induced Pattern based Loop Specialization (IPLS), the first fully-automatic specialization technique designed for everyday use on real applications. Using dynamic information-flow tracking, IPLS profiles the values of instructions that depend solely on invariants and recognizes repeating patterns across multiple iterations of hot loops. IPLS then specializes these loops, using those patterns to predict values across a large window of loop iterations. This enables aggressive optimization of the loop; conceptually, this optimization reconstructs recurring patterns induced by the input as concrete loops in the specialized binary. IPLS specializes realworld programs that prior techniques fail to specialize without requiring hints from the user. Experiments demonstrate a geomean speedup of 14.1{\%} with a maximum speedup of 138{\%} over the original codes when evaluated on three script interpreters and eleven scripts each.",
author = "Taewook Oh and Hanjun Kim and Johnson, {Nick P.} and Lee, {Jae W.} and August, {David I.}",
year = "2013",
month = "4",
day = "1",
doi = "10.1145/2499368.2451161",
language = "English",
volume = "48",
pages = "419--430",
journal = "ACM SIGPLAN Notices",
issn = "1523-2867",
publisher = "Association for Computing Machinery (ACM)",
number = "4",

}

Oh, T, Kim, H, Johnson, NP, Lee, JW & August, DI 2013, 'Practical automatic loop specialization', ACM SIGPLAN Notices, vol. 48, no. 4, pp. 419-430. https://doi.org/10.1145/2499368.2451161

Practical automatic loop specialization. / Oh, Taewook; Kim, Hanjun; Johnson, Nick P.; Lee, Jae W.; August, David I.

In: ACM SIGPLAN Notices, Vol. 48, No. 4, 01.04.2013, p. 419-430.

Research output: Contribution to journalArticle

TY - JOUR

T1 - Practical automatic loop specialization

AU - Oh, Taewook

AU - Kim, Hanjun

AU - Johnson, Nick P.

AU - Lee, Jae W.

AU - August, David I.

PY - 2013/4/1

Y1 - 2013/4/1

N2 - Program specialization optimizes a program with respect to program invariants, including known, fixed inputs. These invariants can be used to enable optimizations that are otherwise unsound. In many applications, a program input induces predictable patterns of values across loop iterations, yet existing specializers cannot fully capitalize on this opportunity. To address this limitation, we present Invariant-induced Pattern based Loop Specialization (IPLS), the first fully-automatic specialization technique designed for everyday use on real applications. Using dynamic information-flow tracking, IPLS profiles the values of instructions that depend solely on invariants and recognizes repeating patterns across multiple iterations of hot loops. IPLS then specializes these loops, using those patterns to predict values across a large window of loop iterations. This enables aggressive optimization of the loop; conceptually, this optimization reconstructs recurring patterns induced by the input as concrete loops in the specialized binary. IPLS specializes realworld programs that prior techniques fail to specialize without requiring hints from the user. Experiments demonstrate a geomean speedup of 14.1% with a maximum speedup of 138% over the original codes when evaluated on three script interpreters and eleven scripts each.

AB - Program specialization optimizes a program with respect to program invariants, including known, fixed inputs. These invariants can be used to enable optimizations that are otherwise unsound. In many applications, a program input induces predictable patterns of values across loop iterations, yet existing specializers cannot fully capitalize on this opportunity. To address this limitation, we present Invariant-induced Pattern based Loop Specialization (IPLS), the first fully-automatic specialization technique designed for everyday use on real applications. Using dynamic information-flow tracking, IPLS profiles the values of instructions that depend solely on invariants and recognizes repeating patterns across multiple iterations of hot loops. IPLS then specializes these loops, using those patterns to predict values across a large window of loop iterations. This enables aggressive optimization of the loop; conceptually, this optimization reconstructs recurring patterns induced by the input as concrete loops in the specialized binary. IPLS specializes realworld programs that prior techniques fail to specialize without requiring hints from the user. Experiments demonstrate a geomean speedup of 14.1% with a maximum speedup of 138% over the original codes when evaluated on three script interpreters and eleven scripts each.

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

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

U2 - 10.1145/2499368.2451161

DO - 10.1145/2499368.2451161

M3 - Article

AN - SCOPUS:84880120211

VL - 48

SP - 419

EP - 430

JO - ACM SIGPLAN Notices

JF - ACM SIGPLAN Notices

SN - 1523-2867

IS - 4

ER -