Alchemist A Transparent Dependence Distance Profiling Infrastructure

Effectively migrating sequential applications to take advantage of parallelism available on multicore platforms is a well-recognized challenge. This paper addresses important aspects of this issue by proposing a novel profiling technique to automatically detect available concurrency in C programs. T...

Full description

Saved in:
Bibliographic Details
Published in:Code Generation and Optimization, Proceedings pp. 47 - 58
Main Authors: Zhang, Xiangyu, Navabi, Armand, Jagannathan, Suresh
Format: Conference Proceeding
Language:English
Published: Washington, DC, USA IEEE Computer Society 22.03.2009
IEEE
Series:ACM Conferences
Subjects:
ISBN:9780769535760, 0769535763
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Abstract Effectively migrating sequential applications to take advantage of parallelism available on multicore platforms is a well-recognized challenge. This paper addresses important aspects of this issue by proposing a novel profiling technique to automatically detect available concurrency in C programs. The profiler, called Alchemist, operates completely transparently to applications, and identifies constructs at various levels of granularity (e.g., loops, procedures, and conditional statements) as candidates for asynchronous execution. Various dependences including read-after-write (RAW), write-after-read (WAR), and write-after-write (WAW), are detected between a construct and its continuation, the execution following the completion of the construct. The time-ordered {\em distance} between program points forming a dependence gives a measure of the effectiveness of parallelizing that construct, as well as identifying the transformations necessary to facilitate such parallelization. Using the notion of post-dominance, our profiling algorithm builds an execution index tree at run-time. This tree is used to differentiate among multiple instances of the same static construct, and leads to improved accuracy in the computed profile, useful to better identify constructs that are amenable to parallelization. Performance results indicate that the profiles generated by Alchemist pinpoint strong candidates for parallelization, and can help significantly ease the burden of application migration to multicore environments.
AbstractList Effectively migrating sequential applications to take advantage of parallelism available on multicore platforms is a well-recognized challenge. This paper addresses important aspects of this issue by proposing a novel profiling technique to automatically detect available concurrency in C programs. The profiler, called Alchemist, operates completely transparently to applications, and identifies constructs at various levels of granularity (e.g., loops, procedures, and conditional statements) as candidates for asynchronous execution. Various dependences including read-after-write (RAW), write-after-read (WAR), and write-after-write (WAW), are detected between a construct and its continuation, the execution following the completion of the construct. The time-ordered distance between program points forming a dependence gives a measure of the effectiveness of parallelizing that construct, as well as identifying the transformations necessary to facilitate such parallelization. Using the notion of post-dominance, our profiling algorithm builds an execution index tree at run-time. This tree is used to differentiate among multiple instances of the same static construct, and leads to improved accuracy in the computed profile, useful to better identify constructs that are amenable to parallelization. Performance results indicate that the profiles generated by Alchemist pinpoint strong candidates for parallelization, and can help significantly ease the burden of application migration to multicore environments.
Effectively migrating sequential applications to take advantage of parallelism available on multicore platforms is a well-recognized challenge. This paper addresses important aspects of this issue by proposing a novel profiling technique to automatically detect available concurrency in C programs. The profiler, called Alchemist, operates completely transparently to applications, and identifies constructs at various levels of granularity (e.g., loops, procedures, and conditional statements) as candidates for asynchronous execution. Various dependences including read-after-write (RAW), write-after-read (WAR), and write-after-write (WAW), are detected between a construct and its continuation, the execution following the completion of the construct. The time-ordered {\em distance} between program points forming a dependence gives a measure of the effectiveness of parallelizing that construct, as well as identifying the transformations necessary to facilitate such parallelization. Using the notion of post-dominance, our profiling algorithm builds an execution index tree at run-time. This tree is used to differentiate among multiple instances of the same static construct, and leads to improved accuracy in the computed profile, useful to better identify constructs that are amenable to parallelization. Performance results indicate that the profiles generated by Alchemist pinpoint strong candidates for parallelization, and can help significantly ease the burden of application migration to multicore environments.
Author Navabi, Armand
Zhang, Xiangyu
Jagannathan, Suresh
Author_xml – sequence: 1
  givenname: Xiangyu
  surname: Zhang
  fullname: Zhang, Xiangyu
– sequence: 2
  givenname: Armand
  surname: Navabi
  fullname: Navabi, Armand
– sequence: 3
  givenname: Suresh
  surname: Jagannathan
  fullname: Jagannathan, Suresh
BookMark eNqNjz1PwzAQhi1BJdqSiZGVCSnhzvYl57GqoCBV6gKz5fhDBJoGJV3497gqP6C3vMPz6tU9C3F9GA5RiDuEChHM03qzqySAqZCuRGEahqY2pKipYSYWmbDRUrO8EcU0fUE-IgaFczFf7f1n7LvpeCtmye2nWPznUny8PL-vX8vtbvO2Xm1LJ5U5lpqDbFPNjoNLEsGD8xEUGE0KDQTUsWbvgudEgZWkhEy19A36IKlp1VLcn3e7GKP9Gbvejb9Wm_wyQaaPZ-p8b9th-J4sgj1J2ixpT5IWybZjF1MuP1xQVn8JN03i
ContentType Conference Proceeding
DBID 6IE
6IL
CBEJK
RIE
RIL
DOI 10.1109/CGO.2009.15
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
DatabaseTitleList

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 58
ExternalDocumentID 4907650
Genre orig-research
GroupedDBID 6IE
6IF
6IK
6IL
6IN
AAJGR
AARBI
ACM
ADPZR
ALMA_UNASSIGNED_HOLDINGS
APO
BEFXN
BFFAM
BGNUA
BKEBE
BPEOZ
CBEJK
GUFHI
IERZE
OCL
RIB
RIC
RIE
RIL
AAWTH
LHSKQ
ID FETCH-LOGICAL-a239t-48d2bf68a8daf210c0ace0309453190d14e68cadc8f5d8325f18562c71cd257b3
IEDL.DBID RIE
ISBN 9780769535760
0769535763
ISICitedReferencesCount 27
ISICitedReferencesURI http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000275712400005&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
IngestDate Wed Aug 27 01:41:58 EDT 2025
Wed Jan 31 06:49:08 EST 2024
IsPeerReviewed false
IsScholarly true
Keywords execution indexing
program dependence
profiling
parallelization
LCCN 2008942482
Language English
LinkModel DirectLink
MeetingName CGO '09: 7th Annual IEEE/ ACM International Symposium on Code Generation and Optimization
MergedId FETCHMERGED-LOGICAL-a239t-48d2bf68a8daf210c0ace0309453190d14e68cadc8f5d8325f18562c71cd257b3
PageCount 12
ParticipantIDs acm_books_10_1109_CGO_2009_15_brief
acm_books_10_1109_CGO_2009_15
ieee_primary_4907650
PublicationCentury 2000
PublicationDate 20090322
2009-March
PublicationDateYYYYMMDD 2009-03-22
2009-03-01
PublicationDate_xml – month: 03
  year: 2009
  text: 20090322
  day: 22
PublicationDecade 2000
PublicationPlace Washington, DC, USA
PublicationPlace_xml – name: Washington, DC, USA
PublicationSeriesTitle ACM Conferences
PublicationTitle Code Generation and Optimization, Proceedings
PublicationTitleAbbrev CGO
PublicationYear 2009
Publisher IEEE Computer Society
IEEE
Publisher_xml – name: IEEE Computer Society
– name: IEEE
SSID ssj0000558031
Score 1.979124
Snippet Effectively migrating sequential applications to take advantage of parallelism available on multicore platforms is a well-recognized challenge. This paper...
SourceID ieee
acm
SourceType Publisher
StartPage 47
SubjectTerms Computer science
Concurrency control
Concurrent computing
Data mining
execution indexing
Frequency estimation
Multicore processing
Parallel processing
parallelization
profiling
program dependence
Programming profession
Runtime
Software and its engineering -- Software notations and tools -- Compilers
Theory of computation -- Models of computation -- Concurrency
Theory of computation -- Models of computation -- Concurrency -- Parallel computing models
Theory of computation -- Semantics and reasoning -- Program reasoning -- Program analysis
Theory of computation -- Semantics and reasoning -- Program semantics
Yarn
Subtitle A Transparent Dependence Distance Profiling Infrastructure
Title Alchemist
URI https://ieeexplore.ieee.org/document/4907650
WOSCitedRecordID wos000275712400005&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/eLvHCXMwlV1dS8MwFL1swwefpm7i1ElBH41L1zZNfRv7UEHmHlT2VtJ8wEA76TZ_vzdNNxFE8K1t4FIOudycJOcegCvOdGAyqglnLCShUoIIP_AJV1RLEWYyKW06Xx_j6ZTP58msBtc7LYzWurx8pm_sY3mWr5ZyY7fKeiEyOWYJej2OmdNq7fZTaBRxnKCOmSdRgOvooGqws32nlT7Pp0lvePfkmlVaP9y6kO8_3FXK4jJp_u-3DqD9rdLzZrv6cwg1nR9Bc2vT4FVZ24Lx4E06W7dbb-C5buZWArb2RpUDLgYa2XVkFdEsrEbde8hNIVx_2U2h2_AyGT8P70nlnkBEP0jWJOSqnxnGBVfCILGTVFhvMKRzNu2o8kPNuBRKchMpzOvIYOlmfRn7UmEeZ8ExNPJlrk_Aw1BWk4orL1-ECB-GNFTZvp4csWSmA11EMLW0YJWWrIImKSJsPS6T1I86cPnneJoVC41RWhbb9MO12UgrWE9__3wG--5gx14HO4cGoqG7sCc_14tVcVHOjS9gCbK-
linkProvider IEEE
linkToHtml http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1dS8MwFA1zCvo0dROnTgv6aF3aplnq29iHG865hyl7K2k-YKCddJu_35ummwgi-NY2cCmHXG5OknMPQjeMqkAnWLmMUuISKbnLvcBzmcRKcJKIKLfpfB21xmM2m0WTErrdamGUUvnlM3VnHvOzfLkQa7NV1iTA5Kgh6LshIT62aq3tjgoOQwZT1HLzKAxgJR0ULXY277hQ6Hk4anYenm27SuOIu8PF-w9_lby89Cv_-7FDVPvW6TmTbQU6QiWVHqPKxqjBKfK2inrtN2GN3e6dtmP7mRsR2MrpFh64EKhrVpJFRD03KnVnmOqM2w6z60zV0Eu_N-0M3MI_weV-EK1cwqSfaMo4k1wDtROYG3cwIHQm8bD0iKJMcCmYDiVkdqiheFNftDwhIZOT4ASV00WqTpEDoYwqFdZeHicAH4TUWJrOngywpLqOGoBgbIjBMs55BY5iQNi4XEaxF9bR9Z_jcZLNFUSpGmzjD9toIy5gPfv98xXaH0yfRvFoOH48Rwf2mMdcDrtAZUBGNdCe-FzNl9llPk--AOCAtgU
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+7th+annual+IEEE%2FACM+International+Symposium+on+Code+Generation+and+Optimization&rft.atitle=Alchemist&rft.au=Zhang%2C+Xiangyu&rft.au=Navabi%2C+Armand&rft.au=Jagannathan%2C+Suresh&rft.series=ACM+Conferences&rft.date=2009-03-22&rft.pub=IEEE+Computer+Society&rft.isbn=9780769535760&rft.spage=47&rft.epage=58&rft_id=info:doi/10.1109%2FCGO.2009.15
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=9780769535760/lc.gif&client=summon&freeimage=true
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=9780769535760/mc.gif&client=summon&freeimage=true
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=9780769535760/sc.gif&client=summon&freeimage=true