Practical automatic loop specialization

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

Research output: Chapter in Book/Report/Conference proceedingConference contribution

4 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
Title of host publicationASPLOS 2013 - 18th International Conference on Architectural Support for Programming Languages and Operating Systems
Pages419-430
Number of pages12
DOIs
Publication statusPublished - 2013 Apr 5
Event18th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2013 - Houston, TX, United States
Duration: 2013 Mar 162013 Mar 20

Other

Other18th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2013
CountryUnited States
CityHouston, TX
Period13/3/1613/3/20

Fingerprint

Concretes
Experiments

All Science Journal Classification (ASJC) codes

  • Software
  • Information Systems
  • Hardware and Architecture

Cite this

Oh, T., Kim, H., Johnson, N. P., Lee, J. W., & August, D. I. (2013). Practical automatic loop specialization. In ASPLOS 2013 - 18th International Conference on Architectural Support for Programming Languages and Operating Systems (pp. 419-430) https://doi.org/10.1145/2451116.2451161
Oh, Taewook ; Kim, Hanjun ; Johnson, Nick P. ; Lee, Jae W. ; August, David I. / Practical automatic loop specialization. ASPLOS 2013 - 18th International Conference on Architectural Support for Programming Languages and Operating Systems. 2013. pp. 419-430
@inproceedings{a4bae47c853448f4ad34bc206d76173e,
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 = "5",
doi = "10.1145/2451116.2451161",
language = "English",
isbn = "9781450318709",
pages = "419--430",
booktitle = "ASPLOS 2013 - 18th International Conference on Architectural Support for Programming Languages and Operating Systems",

}

Oh, T, Kim, H, Johnson, NP, Lee, JW & August, DI 2013, Practical automatic loop specialization. in ASPLOS 2013 - 18th International Conference on Architectural Support for Programming Languages and Operating Systems. pp. 419-430, 18th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2013, Houston, TX, United States, 13/3/16. https://doi.org/10.1145/2451116.2451161

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

ASPLOS 2013 - 18th International Conference on Architectural Support for Programming Languages and Operating Systems. 2013. p. 419-430.

Research output: Chapter in Book/Report/Conference proceedingConference contribution

TY - GEN

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/5

Y1 - 2013/4/5

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=84875684265&partnerID=8YFLogxK

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

U2 - 10.1145/2451116.2451161

DO - 10.1145/2451116.2451161

M3 - Conference contribution

SN - 9781450318709

SP - 419

EP - 430

BT - ASPLOS 2013 - 18th International Conference on Architectural Support for Programming Languages and Operating Systems

ER -

Oh T, Kim H, Johnson NP, Lee JW, August DI. Practical automatic loop specialization. In ASPLOS 2013 - 18th International Conference on Architectural Support for Programming Languages and Operating Systems. 2013. p. 419-430 https://doi.org/10.1145/2451116.2451161