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...
Saved in:
| Published in: | Code Generation and Optimization, Proceedings pp. 47 - 58 |
|---|---|
| Main Authors: | , , |
| 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 |

