Selecting Software Phase Markers with Code Structure Analysis

Most programs are repetitive, where similar behavior can be seen at different execution times. Algorithms have been proposed that automatically group similar portions of a program's execution into phases, where samples of execution in the same phase have homogeneous behavior and similar resourc...

Celý popis

Uložené v:
Podrobná bibliografia
Vydané v:Fourth IEEE/ACM International Symposium on Code Generation and Optimization (CGO 2006): 26-29 March 2006/New York, New York s. 135 - 146
Hlavní autori: Lau, Jeremy, Perelman, Erez, Calder, Brad
Médium: Konferenčný príspevok..
Jazyk:English
Vydavateľské údaje: Washington, DC, USA IEEE Computer Society 26.03.2006
IEEE
Edícia:ACM Conferences
Predmet:
ISBN:0769524990, 9780769524993
On-line prístup:Získať plný text
Tagy: Pridať tag
Žiadne tagy, Buďte prvý, kto otaguje tento záznam!
Abstract Most programs are repetitive, where similar behavior can be seen at different execution times. Algorithms have been proposed that automatically group similar portions of a program's execution into phases, where samples of execution in the same phase have homogeneous behavior and similar resource requirements. In this paper, we present an automated profiling approach to identify code locations whose executions correlate with phase changes. These "software phase markers" can be used to easily detect phase changes across different inputs to a program without hardware support. Our approach builds a combined hierarchical procedure call and loop graph to represent a program's execution, where each edge also tracks the max, average, and standard deviation in hierarchical execution variability on paths from that edge. We search this annotated call-loop graph for instructions in the binary that accurately identify the start of unique stable behaviors across different inputs. We show that our phase markers can be used to accurately partition execution into units of repeating homogeneous behavior by counting execution cycles and data cache hits. We also compare the use of our software markers to prior work on guiding data cache reconfiguration using datareuse markers. Finally, we show that the phase markers can be used to partition the program's execution at code transitions to pick accurately simulation points for SimPoint. When simulation points are defined in terms of phase markers, they can potentially be re-used across inputs, compiler optimizations, and different instruction set architectures for the same source code.
AbstractList Most programs are repetitive, where similar behavior can be seen at different execution times. Algorithms have been proposed that automatically group similar portions of a program's execution into phases, where samples of execution in the same phase have homogeneous behavior and similar resource requirements. In this paper, we present an automated profiling approach to identify code locations whose executions correlate with phase changes. These 'software phase markers' can be used to easily detect phase changes across different inputs to a program without hardware support. Our approach builds a combined hierarchical procedure call and loop graph to represent a program's execution, where each edge also tracks the max, average, and standard deviation in hierarchical execution variability on paths from that edge. We search this annotated call-loop graph for instructions in the binary that accurately identify the start of unique stable behaviors across different inputs. We show that our phase markers can be used to accurately partition execution into units of repeating homogeneous behavior by counting execution cycles and data cache hits. We also compare the use of our software markers to prior work on guiding data cache reconfiguration using datareuse markers. Finally, we show that the phase markers can be used to partition the program's execution at code transitions to pick accurately simulation points for SimPoint. When simulation points are defined in terms of phase markers, they can potentially be re-used across inputs, compiler optimizations, and different instruction set architectures for the same source code.
Most programs are repetitive, where similar behavior can be seen at different execution times. Algorithms have been proposed that automatically group similar portions of a program's execution into phases, where samples of execution in the same phase have homogeneous behavior and similar resource requirements. In this paper, we present an automated profiling approach to identify code locations whose executions correlate with phase changes. These ''software phase markers" can be used to easily detect phase changes across different inputs to a program without hardware support. Our approach builds a combined hierarchical procedure call and loop graph to represent a program's execution, where each edge also tracks the max, average, and standard deviation in hierarchical execution variability on paths from that edge. We search this annotated call-loop graph for instructions in the binary that accurately identify the start of unique stable behaviors across different inputs. We show that our phase markers can be used to accurately partition execution into units of repeating homogeneous behavior by counting execution cycles and data cache hits. We also compare the use of our software markers to prior work on guiding data cache reconfiguration using data-reuse markers. Finally, we show that the phase markers can be used to partition the program's execution at code transitions to pick accurately simulation points for SimPoint. When simulation points are defined in terms of phase markers, they can potentially be re-used across inputs, compiler optimizations, and different instruction set architectures for the same source code.
Author Lau, Jeremy
Calder, Brad
Perelman, Erez
Author_xml – sequence: 1
  givenname: Jeremy
  surname: Lau
  fullname: Lau, Jeremy
  organization: University of California, San Diego
– sequence: 2
  givenname: Erez
  surname: Perelman
  fullname: Perelman, Erez
  organization: University of California, San Diego
– sequence: 3
  givenname: Brad
  surname: Calder
  fullname: Calder, Brad
  organization: University of California, San Diego
BookMark eNqNkE1LAzEURQMqqLUrl25mIS6E1nzMpJOFizJoFSoVquuQSd7Y2OmkJhlK_70p9Qf4NvfBPdzFuUSnnesAoWuCx4Rg8VDNFmOKMR8zeoIu8YSLguZC4HM0DOEbp8sLgnNygR6X0IKOtvvKlq6JO-Uhe1-pANmb8mvwIdvZuMoqZyBbRt_r2Cdi2ql2H2y4QmeNagMM_3KAPp-fPqqX0Xwxe62m85GiExxHwDlptDCk1E0OHENjBFZY0BqY0NoYVgJnTJfCUCiMYBNG6lKnj-cETMkG6O64u_Xup4cQ5cYGDW2rOnB9kIwURc4FTuDNEbQAILfebpTfS8IJKRhP7e2xVXoja-fWQRIsD8ZkMiYPxiSjCbv_ByZrb6Fhv7f2bIM
ContentType Conference Proceeding
DBID 6IE
6IL
CBEJK
RIE
RIL
7SC
8FD
JQ2
L7M
L~C
L~D
DOI 10.1109/CGO.2006.32
DatabaseName IEEE Electronic Library (IEL) Conference Proceedings
IEEE Xplore POP ALL
IEEE Xplore All Conference Proceedings
IEEE Electronic Library (IEL)
IEEE Proceedings Order Plans (POP All) 1998-Present
Computer and Information Systems Abstracts
Technology Research Database
ProQuest Computer Science Collection
Advanced Technologies Database with Aerospace
Computer and Information Systems Abstracts – Academic
Computer and Information Systems Abstracts Professional
DatabaseTitle Computer and Information Systems Abstracts
Technology Research Database
Computer and Information Systems Abstracts – Academic
Advanced Technologies Database with Aerospace
ProQuest Computer Science Collection
Computer and Information Systems Abstracts Professional
DatabaseTitleList Computer and Information Systems Abstracts


Database_xml – sequence: 1
  dbid: RIE
  name: IEEE Electronic Library (IEL)
  url: https://ieeexplore.ieee.org/
  sourceTypes: Publisher
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EndPage 146
ExternalDocumentID 1611536
Genre orig-research
Conference Paper
GroupedDBID 6IE
6IF
6IK
6IL
6IN
AAJGR
AARBI
ACM
ADPZR
ALMA_UNASSIGNED_HOLDINGS
APO
BEFXN
BFFAM
BGNUA
BKEBE
BPEOZ
CBEJK
GUFHI
OCL
RIB
RIC
RIE
RIL
AAWTH
LHSKQ
7SC
8FD
JQ2
L7M
L~C
L~D
ID FETCH-LOGICAL-a270t-e661fc9d18cf4e60efd90a092be39ccdd38e633c89d2e5d93731b8c5d9641ed83
IEDL.DBID RIE
ISBN 0769524990
9780769524993
ISICitedReferencesCount 19
ISICitedReferencesURI http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000237247000011&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
IngestDate Fri Jul 11 06:52:06 EDT 2025
Wed Aug 27 02:28:20 EDT 2025
Wed Jan 31 06:44:48 EST 2024
IsPeerReviewed false
IsScholarly true
Language English
LinkModel DirectLink
MeetingName CGO06: 4th Annual IEEE / ACM International Symposium on Code Generation and Optimization
MergedId FETCHMERGED-LOGICAL-a270t-e661fc9d18cf4e60efd90a092be39ccdd38e633c89d2e5d93731b8c5d9641ed83
Notes SourceType-Conference Papers & Proceedings-1
ObjectType-Conference Paper-1
content type line 25
PQID 31554690
PQPubID 23500
PageCount 12
ParticipantIDs proquest_miscellaneous_31554690
ieee_primary_1611536
acm_books_10_1109_CGO_2006_32_brief
acm_books_10_1109_CGO_2006_32
PublicationCentury 2000
PublicationDate 20060326
20060000
PublicationDateYYYYMMDD 2006-03-26
2006-01-01
PublicationDate_xml – month: 03
  year: 2006
  text: 20060326
  day: 26
PublicationDecade 2000
PublicationPlace Washington, DC, USA
PublicationPlace_xml – name: Washington, DC, USA
PublicationSeriesTitle ACM Conferences
PublicationTitle Fourth IEEE/ACM International Symposium on Code Generation and Optimization (CGO 2006): 26-29 March 2006/New York, New York
PublicationTitleAbbrev CGO
PublicationYear 2006
Publisher IEEE Computer Society
IEEE
Publisher_xml – name: IEEE Computer Society
– name: IEEE
SSID ssj0000451041
Score 1.8094201
Snippet Most programs are repetitive, where similar behavior can be seen at different execution times. Algorithms have been proposed that automatically group similar...
SourceID proquest
ieee
acm
SourceType Aggregation Database
Publisher
StartPage 135
SubjectTerms Acceleration
Clustering algorithms
Computer science
Hardware
Heuristic algorithms
Optimizing compilers
Pattern analysis
Phase detection
Program processors
Software and its engineering -- Software notations and tools -- Compilers
Software and its engineering -- Software notations and tools -- Compilers -- Preprocessors
Tracking loops
Title Selecting Software Phase Markers with Code Structure Analysis
URI https://ieeexplore.ieee.org/document/1611536
https://www.proquest.com/docview/31554690
WOSCitedRecordID wos000237247000011&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV07T8MwED7RioGJtyhQsAQjAcc2qT0wIQoTIAESm-XYF8FAWyUU_j7nJA0DCIkluihOZF18vpfvPoBjLVChkXnCHV2UI5HKVeBJkQeRqpBnShc12MTo9lY_P5v7JTjpamEQsT58hqeRrHP5YernMVR2RtYJCWjWg95olDW1Wl08JfZJ4SptPHNzTl6FaVs6dfeyrc9LuTm7vL5rMhERd6Tn_FuLrvJjS671zHj1fzNcg63vgj1236midVjCyQasLhAbWCvAm3DxUMPe0BhW0f776UpksxdSZOwtHtMpKxbjsizWubOms-ycRri2cckWPI2vHi9vkhZAIXFixN8TJOVbeBNS7QuFGcciGO64ETlK430IUmMmpdcmCDwPZKnINNeeqEylGLTchv5kOsEdYMQ0gSmKILRT9DkX075EOZ7mXnA9gCEx0UbPoLK1Y8GNJSZHmMvMSjGAoz-f27x8xWIAm5GndtZ02rAtOwdwuPgpllZ_TGm4CU7nlZXRHCIHf_f3F_dg5Ttksg99YhwOYdl_vL9W5UG9gL4AXJLAmQ
linkProvider IEEE
linkToHtml http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1LS8QwEB50FfTkG9dnQI9W0yTbTQ6exBfqKqjgLaTJFPfgrmxd_ftO2roeFMFLmdK0hGkm88rMB7CvBSo0Mk-4o4tyJFK5Cjwp8iBSFfJM6aICm-j2evrpydxNwcGkFgYRq8NneBjJKpcfhn4cQ2VHZJ2QgGbTMNNRSvC6WmsSUYmdUrhKa9_cdMivME1Tp8m9bCr0Um6OTs5v61xERB6Zdv6lwVf5sSlXmuZs4X9zXITV75I9djdRRkswhYNlWPjCbGCNCK_A8X0FfENjWEk78IcbIXt9JlXGXuJBnVHJYmSWxUp3VveWHdMI17QuWYXHs9OHk4ukgVBInOjytwRJ_RbehFT7QmHGsQiGO25EjtJ4H4LUmEnptQkCO4FsFZnm2hOVqRSDlmvQGgwHuA6MmCYwRRGEdoo-52LilyjH09wLrtuwTUy00TcobeVacGOJyRHoMrNStGHvz-c2H_WxaMNK5Kl9rXtt2Iadbdj9-imW1n9MargBDselldEgIhd_4_cXd2Hu4uHm2l5f9q42Yf47gLIFLWIibsOsf3_rl6OdajF9ApDvw-A
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=proceeding&rft.title=Proceedings+of+the+International+Symposium+on+Code+Generation+and+Optimization&rft.atitle=Selecting+Software+Phase+Markers+with+Code+Structure+Analysis&rft.au=Lau%2C+Jeremy&rft.au=Perelman%2C+Erez&rft.au=Calder%2C+Brad&rft.series=ACM+Conferences&rft.date=2006-03-26&rft.pub=IEEE+Computer+Society&rft.isbn=0769524990&rft.spage=135&rft.epage=146&rft_id=info:doi/10.1109%2FCGO.2006.32
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=9780769524993/lc.gif&client=summon&freeimage=true
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=9780769524993/mc.gif&client=summon&freeimage=true
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=9780769524993/sc.gif&client=summon&freeimage=true