CELLO: Compiler-Assisted Efficient Load-Load Ordering in Data-Race-Free Regions

Efficient Total Store Order (TSO) implementations allow loads to execute speculatively out-of-order. To detect order violations, the load queue (LQ) holds all the in-flight loads and is searched on every invalidation and cache eviction. Moreover, in a simultaneous multithreading processor (SMT), sto...

Celý popis

Uloženo v:
Podrobná bibliografie
Vydáno v:2023 32nd International Conference on Parallel Architectures and Compilation Techniques (PACT) s. 1 - 13
Hlavní autoři: Singh, Sawan, Feliu, Josue, Acacio, Manuel E., Jimborean, Alexandra, Ros, Alberto
Médium: Konferenční příspěvek
Jazyk:angličtina
Vydáno: IEEE 21.10.2023
Témata:
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 Efficient Total Store Order (TSO) implementations allow loads to execute speculatively out-of-order. To detect order violations, the load queue (LQ) holds all the in-flight loads and is searched on every invalidation and cache eviction. Moreover, in a simultaneous multithreading processor (SMT), stores also search the LQ when writing to cache. LQ searches entail considerable energy consumption. Furthermore, the processor stalls upon encountering the LQ full or when its ports are busy. Hence, the LQ is a critical structure in terms of both energy and performance. In this work, we observe that the use of the LQ could be dramatically optimized under the guarantees of the datarace-free (DRF) property imposed by modern programming languages. To leverage this observation, we propose CELLO, a software-hardware co-design in which the compiler detects memory operations in DRF regions and the hardware optimizes their execution by safely skipping LQ searches without violating the TSO consistency model. Furthermore, CELLO allows removing DRF loads from the LQ earlier, as they do not need to be searched to detect consistency violations. With minimal hardware overhead, we show that an 8-core 2-way SMT processor with CELLO avoids almost all conservative searches to the LQ and significantly reduces its occupancy. CELLO allows i) to reduce the LQ energy expenditure by 33% on average (up to 53%) while performing 2.8% better on average (up to 18.6%) than the baseline system, and ii) to shrink the LQ size from 192 to only 80 entries, reducing the LQ energy expenditure as much as 69% while performing on par with a mainstream LQ implementation.
AbstractList Efficient Total Store Order (TSO) implementations allow loads to execute speculatively out-of-order. To detect order violations, the load queue (LQ) holds all the in-flight loads and is searched on every invalidation and cache eviction. Moreover, in a simultaneous multithreading processor (SMT), stores also search the LQ when writing to cache. LQ searches entail considerable energy consumption. Furthermore, the processor stalls upon encountering the LQ full or when its ports are busy. Hence, the LQ is a critical structure in terms of both energy and performance. In this work, we observe that the use of the LQ could be dramatically optimized under the guarantees of the datarace-free (DRF) property imposed by modern programming languages. To leverage this observation, we propose CELLO, a software-hardware co-design in which the compiler detects memory operations in DRF regions and the hardware optimizes their execution by safely skipping LQ searches without violating the TSO consistency model. Furthermore, CELLO allows removing DRF loads from the LQ earlier, as they do not need to be searched to detect consistency violations. With minimal hardware overhead, we show that an 8-core 2-way SMT processor with CELLO avoids almost all conservative searches to the LQ and significantly reduces its occupancy. CELLO allows i) to reduce the LQ energy expenditure by 33% on average (up to 53%) while performing 2.8% better on average (up to 18.6%) than the baseline system, and ii) to shrink the LQ size from 192 to only 80 entries, reducing the LQ energy expenditure as much as 69% while performing on par with a mainstream LQ implementation.
Author Feliu, Josue
Acacio, Manuel E.
Ros, Alberto
Singh, Sawan
Jimborean, Alexandra
Author_xml – sequence: 1
  givenname: Sawan
  surname: Singh
  fullname: Singh, Sawan
  email: singh.sawan@um.es
  organization: University of Murcia,Computer Engineering Department,Murcia,Spain
– sequence: 2
  givenname: Josue
  surname: Feliu
  fullname: Feliu, Josue
  email: jfeliu@disca.upv.es
  organization: Universitat Politècnica de València,Computer Engineering Department,València,Spain
– sequence: 3
  givenname: Manuel E.
  surname: Acacio
  fullname: Acacio, Manuel E.
  email: meacacio@um.es
  organization: University of Murcia,Computer Engineering Department,Murcia,Spain
– sequence: 4
  givenname: Alexandra
  surname: Jimborean
  fullname: Jimborean, Alexandra
  email: alexandra.jimborean@um.es
  organization: University of Murcia,Computer Engineering Department,Murcia,Spain
– sequence: 5
  givenname: Alberto
  surname: Ros
  fullname: Ros, Alberto
  email: aros@ditec.um.es
  organization: University of Murcia,Computer Engineering Department,Murcia,Spain
BookMark eNotjFFLwzAUhSMoqLP_YA_5A5lJbrM0vo3aqVCojPk8bpLbEdjakfbFf-9Ez8P54PBxHtntMA7E2FLJlVLSPX9u6r2plLIrLTWs5DXuhhXOugqMhFKbEu5ZMU3JS2MtWO3ggXV107bdC6_H8yWdKIvNVZhmirzp-xQSDTNvR4zit3iXI-U0HHka-CvOKHYYSGwzEd_RMY3D9MTuejxNVPxzwb62zb5-F2339lFvWoG6Ws_Cq3WwMUQkcq6kErV30FvlbRVI-RKjgqBl9AZcNMZhf90CGtcbD5VHWLDl328iosMlpzPm74OSsC6NU_ADzd1QGg
CODEN IEEPAD
ContentType Conference Proceeding
DBID 6IE
6IL
CBEJK
RIE
RIL
DOI 10.1109/PACT58117.2023.00009
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
EISBN 9798350342543
EndPage 13
ExternalDocumentID 10364591
Genre orig-research
GrantInformation_xml – fundername: European Research Council
  funderid: 10.13039/100010663
GroupedDBID 6IE
6IL
ACM
ALMA_UNASSIGNED_HOLDINGS
APO
CBEJK
LHSKQ
RIE
RIL
ID FETCH-LOGICAL-a286t-b16c7dcdaee994e4a2b93f71b78ce1b4ad13c20db539d559afb4aca59f5b38ba3
IEDL.DBID RIE
ISICitedReferencesCount 1
ISICitedReferencesURI http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=001165646800001&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:03:27 EDT 2025
IsPeerReviewed false
IsScholarly true
Language English
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-a286t-b16c7dcdaee994e4a2b93f71b78ce1b4ad13c20db539d559afb4aca59f5b38ba3
PageCount 13
ParticipantIDs ieee_primary_10364591
PublicationCentury 2000
PublicationDate 2023-Oct.-21
PublicationDateYYYYMMDD 2023-10-21
PublicationDate_xml – month: 10
  year: 2023
  text: 2023-Oct.-21
  day: 21
PublicationDecade 2020
PublicationTitle 2023 32nd International Conference on Parallel Architectures and Compilation Techniques (PACT)
PublicationTitleAbbrev PACT
PublicationYear 2023
Publisher IEEE
Publisher_xml – name: IEEE
SSID ssib057737293
Score 2.2427292
Snippet Efficient Total Store Order (TSO) implementations allow loads to execute speculatively out-of-order. To detect order violations, the load queue (LQ) holds all...
SourceID ieee
SourceType Publisher
StartPage 1
SubjectTerms Computer languages
Energy consumption
Hardware
Multithreading
Out of order
Parallel architectures
Writing
Title CELLO: Compiler-Assisted Efficient Load-Load Ordering in Data-Race-Free Regions
URI https://ieeexplore.ieee.org/document/10364591
WOSCitedRecordID wos001165646800001&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/eLvHCXMwlV1LTwMhECZqPHhSY43vcPBKXWDZBW-mtvHQtE1Tk94aHkPSy9Zst_5-mW2r8eDBCyEkQDLDMAzwzUfIIy-Ac28ypiBKlgfumRE6Y1HETMYUctlsSzZRjkZ6PjeTHVi9xcIAQPv5DLpYbd_yw8pv8KosWTg-miFW_bAsiy1Ya794VImEK0bu4HE8M0-Tl95MIZCyixzhbaZC84tEpfUhg9N_zn5GOj9oPDr59jPn5ACqCzLu9YfD8TNFe06GXbMkZ9RYoP02KUQaig5XNjAs6BgTbKbOdFnRV9tYNrUe2KAGoFPAH8nrDnkf9Ge9N7YjR2BW6KJhjhe-DD5YAGNyyK1wRsaSu1J74C63gUsvsuCUNCGFDTamNm-VicpJ7ay8JEfVqoIrQoNWSoR00LJS52AKK5FUMvUMQWsF7pp0UBqLj23-i8VeEDd_tN-SExQ47vCC35Gjpt7APTn2n81yXT-0WvsC7RKYIg
linkProvider IEEE
linkToHtml http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1LSwMxEA6igp5UrPg2B6-pm81mN_EmtaXi2pZSobeSxyz0spXt1t9vZtsqHjx4CSGQBGYymUySbz5C7nkKnDsdMQmFYInnjulYRayIi0gUIeQy0ZpsIhsM1HSqRxuweoOFAYDm8xm0sdq85fuFW-FVWbBwfDRDrPqeTJI4WsO1tstHZki5osUGIMcj_TB66kwkQinbyBLe5CrUv2hUGi_SO_rn_Mek9YPHo6NvT3NCdqA8JcNON8-HjxQtOph2xYKkUWeedpu0EGEomi-MZ1jQIabYDJ3pvKTPpjZsbBywXgVAx4B_kpct8t7rTjp9tqFHYCZWac0sT13mnTcAWieQmNhqUWTcZsoBt4nxXLg48lYK7UPgYIrQ5ozUhbRCWSPOyG65KOGcUK-kjH04ahmhEtCpEUgrGXp6r5QEe0FaKI3ZxzoDxmwriMs_2u_IQX_yls_yl8HrFTlE4eN-H_NrsltXK7gh--6zni-r20aDXwg7m2k
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=2023+32nd+International+Conference+on+Parallel+Architectures+and+Compilation+Techniques+%28PACT%29&rft.atitle=CELLO%3A+Compiler-Assisted+Efficient+Load-Load+Ordering+in+Data-Race-Free+Regions&rft.au=Singh%2C+Sawan&rft.au=Feliu%2C+Josue&rft.au=Acacio%2C+Manuel+E.&rft.au=Jimborean%2C+Alexandra&rft.date=2023-10-21&rft.pub=IEEE&rft.spage=1&rft.epage=13&rft_id=info:doi/10.1109%2FPACT58117.2023.00009&rft.externalDocID=10364591