Vacuum packing: Extracting hardware-detected program phases for post-link optimization

Ronald D. Barnes, Erik M. Nystrom, Matthew C. Merten, Wen-Mei W Hwu

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

Abstract

This paper presents Vacuum Packing, a new approach to profile-based program optimization. Instead of using traditional aggregate or summarized execution profile weights, this approach uses a transparent hardware profiler to automatically detect execution phases and record branch profile information for each new phase. The code extraction algorithm then produces code packages that are specially formed for their corresponding phases. The algorithm compensates for the incomplete and often incoherent branch profile information that arises due to the nature of hardware profilers. The technique avoids unnecessary code replication by focusing on hot code, making efficient connections between the original code and the new code, linking code packages at select points to facilitate phase transitions, and providing a platform for efficient optimization. We demonstrate that using a concise set of profile information from a hardware profiler, we can generate code packages, specialized for each phase of execution, that capture more than 80% of the average total program execution. We further show that the approach is very effective in extracting code regions that capture the phasing behavior of programs, that the code size increase is moderate, and that the code regions benefit from sample optimizations.

Original languageEnglish (US)
Title of host publicationProceedings - 35th Annual IEEE/ACM International Symposium on Microarchitecture, MICRO 2002
PublisherIEEE Computer Society
Pages233-244
Number of pages12
ISBN (Electronic)0769518591
DOIs
StatePublished - Jan 1 2002
Event35th Annual IEEE/ACM International Symposium on Microarchitecture, MICRO 2002 - Istanbul, Turkey
Duration: Nov 18 2002Nov 22 2002

Publication series

NameProceedings of the Annual International Symposium on Microarchitecture, MICRO
Volume2002-January
ISSN (Print)1072-4451

Other

Other35th Annual IEEE/ACM International Symposium on Microarchitecture, MICRO 2002
CountryTurkey
CityIstanbul
Period11/18/0211/22/02

Fingerprint

Vacuum
Hardware
Phase transitions

Keywords

  • Aggregates
  • Computer architecture
  • Data mining
  • Emulation
  • Java
  • Joining processes
  • Libraries
  • Packaging
  • Phase detection
  • Reliability engineering

ASJC Scopus subject areas

  • Hardware and Architecture

Cite this

Barnes, R. D., Nystrom, E. M., Merten, M. C., & Hwu, W-M. W. (2002). Vacuum packing: Extracting hardware-detected program phases for post-link optimization. In Proceedings - 35th Annual IEEE/ACM International Symposium on Microarchitecture, MICRO 2002 (pp. 233-244). [1176253] (Proceedings of the Annual International Symposium on Microarchitecture, MICRO; Vol. 2002-January). IEEE Computer Society. https://doi.org/10.1109/MICRO.2002.1176253

Vacuum packing : Extracting hardware-detected program phases for post-link optimization. / Barnes, Ronald D.; Nystrom, Erik M.; Merten, Matthew C.; Hwu, Wen-Mei W.

Proceedings - 35th Annual IEEE/ACM International Symposium on Microarchitecture, MICRO 2002. IEEE Computer Society, 2002. p. 233-244 1176253 (Proceedings of the Annual International Symposium on Microarchitecture, MICRO; Vol. 2002-January).

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

Barnes, RD, Nystrom, EM, Merten, MC & Hwu, W-MW 2002, Vacuum packing: Extracting hardware-detected program phases for post-link optimization. in Proceedings - 35th Annual IEEE/ACM International Symposium on Microarchitecture, MICRO 2002., 1176253, Proceedings of the Annual International Symposium on Microarchitecture, MICRO, vol. 2002-January, IEEE Computer Society, pp. 233-244, 35th Annual IEEE/ACM International Symposium on Microarchitecture, MICRO 2002, Istanbul, Turkey, 11/18/02. https://doi.org/10.1109/MICRO.2002.1176253
Barnes RD, Nystrom EM, Merten MC, Hwu W-MW. Vacuum packing: Extracting hardware-detected program phases for post-link optimization. In Proceedings - 35th Annual IEEE/ACM International Symposium on Microarchitecture, MICRO 2002. IEEE Computer Society. 2002. p. 233-244. 1176253. (Proceedings of the Annual International Symposium on Microarchitecture, MICRO). https://doi.org/10.1109/MICRO.2002.1176253
Barnes, Ronald D. ; Nystrom, Erik M. ; Merten, Matthew C. ; Hwu, Wen-Mei W. / Vacuum packing : Extracting hardware-detected program phases for post-link optimization. Proceedings - 35th Annual IEEE/ACM International Symposium on Microarchitecture, MICRO 2002. IEEE Computer Society, 2002. pp. 233-244 (Proceedings of the Annual International Symposium on Microarchitecture, MICRO).
@inproceedings{ddd0979f5fe349699bb2cbf19dbc5905,
title = "Vacuum packing: Extracting hardware-detected program phases for post-link optimization",
abstract = "This paper presents Vacuum Packing, a new approach to profile-based program optimization. Instead of using traditional aggregate or summarized execution profile weights, this approach uses a transparent hardware profiler to automatically detect execution phases and record branch profile information for each new phase. The code extraction algorithm then produces code packages that are specially formed for their corresponding phases. The algorithm compensates for the incomplete and often incoherent branch profile information that arises due to the nature of hardware profilers. The technique avoids unnecessary code replication by focusing on hot code, making efficient connections between the original code and the new code, linking code packages at select points to facilitate phase transitions, and providing a platform for efficient optimization. We demonstrate that using a concise set of profile information from a hardware profiler, we can generate code packages, specialized for each phase of execution, that capture more than 80{\%} of the average total program execution. We further show that the approach is very effective in extracting code regions that capture the phasing behavior of programs, that the code size increase is moderate, and that the code regions benefit from sample optimizations.",
keywords = "Aggregates, Computer architecture, Data mining, Emulation, Java, Joining processes, Libraries, Packaging, Phase detection, Reliability engineering",
author = "Barnes, {Ronald D.} and Nystrom, {Erik M.} and Merten, {Matthew C.} and Hwu, {Wen-Mei W}",
year = "2002",
month = "1",
day = "1",
doi = "10.1109/MICRO.2002.1176253",
language = "English (US)",
series = "Proceedings of the Annual International Symposium on Microarchitecture, MICRO",
publisher = "IEEE Computer Society",
pages = "233--244",
booktitle = "Proceedings - 35th Annual IEEE/ACM International Symposium on Microarchitecture, MICRO 2002",

}

TY - GEN

T1 - Vacuum packing

T2 - Extracting hardware-detected program phases for post-link optimization

AU - Barnes, Ronald D.

AU - Nystrom, Erik M.

AU - Merten, Matthew C.

AU - Hwu, Wen-Mei W

PY - 2002/1/1

Y1 - 2002/1/1

N2 - This paper presents Vacuum Packing, a new approach to profile-based program optimization. Instead of using traditional aggregate or summarized execution profile weights, this approach uses a transparent hardware profiler to automatically detect execution phases and record branch profile information for each new phase. The code extraction algorithm then produces code packages that are specially formed for their corresponding phases. The algorithm compensates for the incomplete and often incoherent branch profile information that arises due to the nature of hardware profilers. The technique avoids unnecessary code replication by focusing on hot code, making efficient connections between the original code and the new code, linking code packages at select points to facilitate phase transitions, and providing a platform for efficient optimization. We demonstrate that using a concise set of profile information from a hardware profiler, we can generate code packages, specialized for each phase of execution, that capture more than 80% of the average total program execution. We further show that the approach is very effective in extracting code regions that capture the phasing behavior of programs, that the code size increase is moderate, and that the code regions benefit from sample optimizations.

AB - This paper presents Vacuum Packing, a new approach to profile-based program optimization. Instead of using traditional aggregate or summarized execution profile weights, this approach uses a transparent hardware profiler to automatically detect execution phases and record branch profile information for each new phase. The code extraction algorithm then produces code packages that are specially formed for their corresponding phases. The algorithm compensates for the incomplete and often incoherent branch profile information that arises due to the nature of hardware profilers. The technique avoids unnecessary code replication by focusing on hot code, making efficient connections between the original code and the new code, linking code packages at select points to facilitate phase transitions, and providing a platform for efficient optimization. We demonstrate that using a concise set of profile information from a hardware profiler, we can generate code packages, specialized for each phase of execution, that capture more than 80% of the average total program execution. We further show that the approach is very effective in extracting code regions that capture the phasing behavior of programs, that the code size increase is moderate, and that the code regions benefit from sample optimizations.

KW - Aggregates

KW - Computer architecture

KW - Data mining

KW - Emulation

KW - Java

KW - Joining processes

KW - Libraries

KW - Packaging

KW - Phase detection

KW - Reliability engineering

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

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

U2 - 10.1109/MICRO.2002.1176253

DO - 10.1109/MICRO.2002.1176253

M3 - Conference contribution

AN - SCOPUS:84948950149

T3 - Proceedings of the Annual International Symposium on Microarchitecture, MICRO

SP - 233

EP - 244

BT - Proceedings - 35th Annual IEEE/ACM International Symposium on Microarchitecture, MICRO 2002

PB - IEEE Computer Society

ER -