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...

Celý popis

Uloženo v:
Podrobná bibliografie
Vydáno v:Proceedings / International Symposium on Code Generation and Optimization s. 308 - 321
Hlavní autoři: McMichen, Tommy, Greiner, Nathan, Zhong, Peter, Sossai, Federico, Patel, Atmn, Campanoni, Simone
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