Representing Data Collections in an SSA Form
Compiler research and development has treated computation as the primary driver of performance improvements in C/C++ programs, leaving memory optimizations as a secondary consideration. Developers are currently handed the arduous task of describing both the semantics and layout of their data in memo...
Uloženo v:
| Vydáno v: | Proceedings / International Symposium on Code Generation and Optimization s. 308 - 321 |
|---|---|
| Hlavní autoři: | , , , , , |
| Médium: | Konferenční příspěvek |
| Jazyk: | angličtina |
| Vydáno: |
IEEE
02.03.2024
|
| Témata: | |
| ISSN: | 2643-2838 |
| On-line přístup: | Získat plný text |
| Tagy: |
Přidat tag
Žádné tagy, Buďte první, kdo vytvoří štítek k tomuto záznamu!
|
| Abstract | Compiler research and development has treated computation as the primary driver of performance improvements in C/C++ programs, leaving memory optimizations as a secondary consideration. Developers are currently handed the arduous task of describing both the semantics and layout of their data in memory, either manually or via libraries, prematurely lowering high-level data collections to a low-level view of memory for the compiler. Thus, the compiler can only glean conservative information about the memory in a program, e.g., alias analysis, and is further hampered by heavy memory optimizations. This paper proposes the Memory Object Intermediate Representation (MEMOIR), a language-agnostic SSA form for sequential and associative data collections, objects, and the fields contained therein. At the core of Memoir is a decoupling of the memory used to store data from that used to logically organize data. Through its SSA form, Memoir compilers can perform element-level analysis on data collections, enabling static analysis on the state of a collection or object at any given program point. To illustrate the power of this analysis, we perform dead element elimination, resulting in a 26.6% speedup on mcf from SPECINT 2017. With the degree of freedom to mutate memory layout, our Memoir compiler performs field elision and dead field elimination, reducing peak memory usage of mcf by 20.8%. |
|---|---|
| AbstractList | Compiler research and development has treated computation as the primary driver of performance improvements in C/C++ programs, leaving memory optimizations as a secondary consideration. Developers are currently handed the arduous task of describing both the semantics and layout of their data in memory, either manually or via libraries, prematurely lowering high-level data collections to a low-level view of memory for the compiler. Thus, the compiler can only glean conservative information about the memory in a program, e.g., alias analysis, and is further hampered by heavy memory optimizations. This paper proposes the Memory Object Intermediate Representation (MEMOIR), a language-agnostic SSA form for sequential and associative data collections, objects, and the fields contained therein. At the core of Memoir is a decoupling of the memory used to store data from that used to logically organize data. Through its SSA form, Memoir compilers can perform element-level analysis on data collections, enabling static analysis on the state of a collection or object at any given program point. To illustrate the power of this analysis, we perform dead element elimination, resulting in a 26.6% speedup on mcf from SPECINT 2017. With the degree of freedom to mutate memory layout, our Memoir compiler performs field elision and dead field elimination, reducing peak memory usage of mcf by 20.8%. |
| Author | McMichen, Tommy Greiner, Nathan Campanoni, Simone Sossai, Federico Zhong, Peter Patel, Atmn |
| Author_xml | – sequence: 1 givenname: Tommy surname: McMichen fullname: McMichen, Tommy organization: Northwestern University,Evanston,IL,USA – sequence: 2 givenname: Nathan surname: Greiner fullname: Greiner, Nathan organization: Northwestern University,Evanston,IL,USA – sequence: 3 givenname: Peter surname: Zhong fullname: Zhong, Peter organization: Northwestern University,Evanston,IL,USA – sequence: 4 givenname: Federico surname: Sossai fullname: Sossai, Federico organization: Northwestern University,Evanston,IL,USA – sequence: 5 givenname: Atmn surname: Patel fullname: Patel, Atmn organization: Northwestern University,Evanston,IL,USA – sequence: 6 givenname: Simone surname: Campanoni fullname: Campanoni, Simone organization: Northwestern University,Evanston,IL,USA |
| BookMark | eNo1z81Kw0AUQOFRFGxr30BkHsDEe-cnd2ZZoq1CoWB1XSbTOxJJJyXJxrd3oa7O7oMzF1e5zyzEPUKJCP6x3uwsVRpKBcqUCMYYh3Qhlp680xa0t-D9pZipyuhCOe1uxHwcvwAUGdQz8fDG54FHzlObP-VTmIKs-67jOLV9HmWbZchyv1_JdT-cbsV1Ct3Iy78uxMf6-b1-Kba7zWu92hZBeZgKHYGUUnBsIjP6hClSQ2hVhUkhsY3GNqgjWTAxsgPjowGXKCbyx-D0Qtz9ui0zH85DewrD9-H_Tv8A0apEAw |
| ContentType | Conference Proceeding |
| DBID | 6IE 6IL CBEJK RIE RIL |
| DOI | 10.1109/CGO57630.2024.10444817 |
| DatabaseName | IEEE Electronic Library (IEL) Conference Proceedings IEEE Proceedings Order Plan All Online (POP All Online) 1998-present by volume 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 |
| EISBN | 9798350395099 |
| EISSN | 2643-2838 |
| EndPage | 321 |
| ExternalDocumentID | 10444817 |
| Genre | orig-research |
| GrantInformation_xml | – fundername: U.S. Department of Energy grantid: DE-SC0022268 funderid: 10.13039/100000015 – fundername: National Science Foundation grantid: NSF-2119069,NSF-2107042,NSF-2028851,NSF-1908488 funderid: 10.13039/100000001 |
| GroupedDBID | 29O 6IE 6IF 6IK 6IL 6IN AAJGR ABLEC ADZIZ ALMA_UNASSIGNED_HOLDINGS BEFXN BFFAM BGNUA BKEBE BPEOZ CBEJK CHZPO IEGSK IPLJI OCL RIE RIL |
| ID | FETCH-LOGICAL-a290t-3c072220dbcee19f1fc7b715261f217e5c45b13c7504cce8049c408f7cf79da83 |
| IEDL.DBID | RIE |
| ISICitedReferencesCount | 2 |
| ISICitedReferencesURI | http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=001179185400025&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 02:08:22 EDT 2025 |
| IsPeerReviewed | false |
| IsScholarly | true |
| Language | English |
| LinkModel | DirectLink |
| MergedId | FETCHMERGED-LOGICAL-a290t-3c072220dbcee19f1fc7b715261f217e5c45b13c7504cce8049c408f7cf79da83 |
| PageCount | 14 |
| ParticipantIDs | ieee_primary_10444817 |
| PublicationCentury | 2000 |
| PublicationDate | 2024-March-2 |
| PublicationDateYYYYMMDD | 2024-03-02 |
| PublicationDate_xml | – month: 03 year: 2024 text: 2024-March-2 day: 02 |
| PublicationDecade | 2020 |
| PublicationTitle | Proceedings / International Symposium on Code Generation and Optimization |
| PublicationTitleAbbrev | CGO |
| PublicationYear | 2024 |
| Publisher | IEEE |
| Publisher_xml | – name: IEEE |
| SSID | ssj0027413 ssib057256076 |
| Score | 2.2625973 |
| Snippet | Compiler research and development has treated computation as the primary driver of performance improvements in C/C++ programs, leaving memory optimizations as... |
| SourceID | ieee |
| SourceType | Publisher |
| StartPage | 308 |
| SubjectTerms | Autobiographies compilers Data collection intermediate representation Layout Optimization Program processors Semantics Task analysis |
| Title | Representing Data Collections in an SSA Form |
| URI | https://ieeexplore.ieee.org/document/10444817 |
| WOSCitedRecordID | wos001179185400025&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/eLvHCXMwlV09T8MwED3RioGpfBTxLQ-MuMSxHccjKhSmUlGQulWOY0tdUtSm_H7OblLEwMAWRUocx7bePfvePYBbroMXJhM0dyWnQmWWIgpmNJXGaJmWxnAbzSbUeJzPZnrSiNWjFsY5F5PP3CBcxrP8cmk3YasMV7hANsFUBzpKqa1Yq508UgXwDti6Y1uMN5Jgluj74fMrhtY8QUqYikH7pl-eKhFSRr1_fswh9H_EeWSyg50j2HPVMfRadwbSLNYTuHuLSa4uWkGQR1MbEncJopBhTRYVMRWZTh_ICMPWPnyMnt6HL7TxRqAm1UlNuU0UQntSFtgc0555qwqFYJwxjyzDSStkwbgN1dstDgcSASuS3IcqRLo0OT-FbrWs3BkQqX04u_MshIIKHxPeRjsO5FZS2uIc-qH3889t-Yt52_GLP-5fwkH4xzFRK72Cbr3auGvYt1_1Yr26iYP2DbJ3k48 |
| linkProvider | IEEE |
| linkToHtml | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV3PT8IwGP2iaKIn_IHB3z14tLiuLV2PBkWMiEQw4Ua6rk24DAPDv9-2bBgPHrwtS7aua5v3vfZ73wO4odJ7YRKGE5NRzERbY4eCbRxzpSSPM6WoDmYTYjBIJhM5LMXqQQtjjAnJZ6blL8NZfjbXK79V5lY4c2yCiG3Y4YzFZC3XqqYPFx6-Pbpu-BahpSiYRPKu8_TmgmsaOVIYs1b1rl-uKgFUuvV_fs4BNH7keWi4AZ5D2DL5EdQrfwZULtdjuH0Paa4mmEGgB1UoFPYJgpRhiWY5Ujkaje5R1wWuDfjoPo47PVy6I2AVy6jAVEfCgXuUpa45Ii2xWqTCwXGbWMczDNeMp4RqX79duwFxVECzKLG-DpHMVEJPoJbPc9MExKX1p3eW-GBQuMeY1cGQw7ErznV6Cg3f--nnugDGtOr42R_3r2GvN37tT_vPg5dz2Pf_O6RtxRdQKxYrcwm7-quYLRdXYQC_AZa6ltY |
| 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+%2F+International+Symposium+on+Code+Generation+and+Optimization&rft.atitle=Representing+Data+Collections+in+an+SSA+Form&rft.au=McMichen%2C+Tommy&rft.au=Greiner%2C+Nathan&rft.au=Zhong%2C+Peter&rft.au=Sossai%2C+Federico&rft.date=2024-03-02&rft.pub=IEEE&rft.eissn=2643-2838&rft.spage=308&rft.epage=321&rft_id=info:doi/10.1109%2FCGO57630.2024.10444817&rft.externalDocID=10444817 |