Loading…

Speculative Barriers With Transactional Memory

Transactional Memory (TM) is a synchronization model for parallel programming which provides optimistic concurrency control. Transactions can run in parallel and are only serialized in case of conflict. In this article we use hardware TM (HTM) to implement an optimistic speculative barrier (SB) to r...

Full description

Saved in:
Bibliographic Details
Published in:IEEE transactions on computers 2022-01, Vol.71 (1), p.197-208
Main Authors: Pedrero, Manuel, Quislant, Ricardo, Gutierrez, Eladio, Zapata, Emilio L., Plata, Oscar
Format: Article
Language:English
Subjects:
Citations: Items that this one cites
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
cited_by
cites cdi_FETCH-LOGICAL-c284t-3bfd4daaa9ef23f943c37e2aa97014a0372cf9de7819c1974715c3d1f8d6c2cb3
container_end_page 208
container_issue 1
container_start_page 197
container_title IEEE transactions on computers
container_volume 71
creator Pedrero, Manuel
Quislant, Ricardo
Gutierrez, Eladio
Zapata, Emilio L.
Plata, Oscar
description Transactional Memory (TM) is a synchronization model for parallel programming which provides optimistic concurrency control. Transactions can run in parallel and are only serialized in case of conflict. In this article we use hardware TM (HTM) to implement an optimistic speculative barrier (SB) to replace the lock-based solution. SBs leverage HTM support to elide barriers speculatively. When a thread reaches an SB, a new SB transaction is started, keeping the updates private to the thread, and letting the HTM system detect potential conflicts. Once the last thread reaches the corresponding SB, the speculative threads can commit their changes. The main contributions of this work are: an API for SBs implemented with HTM extensions; a procedure to check the speculation state in between barriers to enable SBs with non-transactional codes; a HTM SB-aware conflict resolution enhancement where SB transactions stall on a conflict with a standard transaction; and a set of SB use guidelines derived from our experience on using SBs in a variety of applications. We evaluated our proposals in two different architectures with a full-system simulator and an IBM Power8 server. Results show an overall performance improvement of SBs over traditional barriers.
doi_str_mv 10.1109/TC.2020.3044234
format article
fullrecord <record><control><sourceid>proquest_ieee_</sourceid><recordid>TN_cdi_ieee_primary_9291466</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><ieee_id>9291466</ieee_id><sourcerecordid>2610171008</sourcerecordid><originalsourceid>FETCH-LOGICAL-c284t-3bfd4daaa9ef23f943c37e2aa97014a0372cf9de7819c1974715c3d1f8d6c2cb3</originalsourceid><addsrcrecordid>eNo9kMFLwzAUxoMoWKdnD14Kntu9l6RNc9TiVJh4sOIxZOkLdmzrTDph_70dG54eH_y-j8ePsVuEHBH0tKlzDhxyAVJyIc9YgkWhMq2L8pwlAFhlWki4ZFcxLgGg5KATln9sye1Wduh-KX20IXQUYvrVDd9pE-wmWjd0_cau0jda92F_zS68XUW6Od0J-5w9NfVLNn9_fq0f5pnjlRwysfCtbK21mjwXXkvhhCI-ZgUoLQjFndctqQq1Q62kwsKJFn3Vlo67hZiw--PuNvQ_O4qDWfa7MP4RDS8RUCFANVLTI-VCH2Mgb7ahW9uwNwjmIMU0tTlIMScpY-Pu2OiI6J_WXKMsS_EHYnlcTw</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>2610171008</pqid></control><display><type>article</type><title>Speculative Barriers With Transactional Memory</title><source>IEEE Xplore (Online service)</source><creator>Pedrero, Manuel ; Quislant, Ricardo ; Gutierrez, Eladio ; Zapata, Emilio L. ; Plata, Oscar</creator><creatorcontrib>Pedrero, Manuel ; Quislant, Ricardo ; Gutierrez, Eladio ; Zapata, Emilio L. ; Plata, Oscar</creatorcontrib><description>Transactional Memory (TM) is a synchronization model for parallel programming which provides optimistic concurrency control. Transactions can run in parallel and are only serialized in case of conflict. In this article we use hardware TM (HTM) to implement an optimistic speculative barrier (SB) to replace the lock-based solution. SBs leverage HTM support to elide barriers speculatively. When a thread reaches an SB, a new SB transaction is started, keeping the updates private to the thread, and letting the HTM system detect potential conflicts. Once the last thread reaches the corresponding SB, the speculative threads can commit their changes. The main contributions of this work are: an API for SBs implemented with HTM extensions; a procedure to check the speculation state in between barriers to enable SBs with non-transactional codes; a HTM SB-aware conflict resolution enhancement where SB transactions stall on a conflict with a standard transaction; and a set of SB use guidelines derived from our experience on using SBs in a variety of applications. We evaluated our proposals in two different architectures with a full-system simulator and an IBM Power8 server. Results show an overall performance improvement of SBs over traditional barriers.</description><identifier>ISSN: 0018-9340</identifier><identifier>EISSN: 1557-9956</identifier><identifier>DOI: 10.1109/TC.2020.3044234</identifier><identifier>CODEN: ITCOB4</identifier><language>eng</language><publisher>New York: IEEE</publisher><subject>Computer architecture ; Concurrency control ; Conflict resolution ; GEMS ; Hardware ; hardware transactional memory ; IBM power8 ; Instruction sets ; Message systems ; Parallel programming ; Proposals ; Protocols ; shared-memory parallelism ; Speculative barriers ; Synchronism</subject><ispartof>IEEE transactions on computers, 2022-01, Vol.71 (1), p.197-208</ispartof><rights>Copyright The Institute of Electrical and Electronics Engineers, Inc. (IEEE) 2022</rights><lds50>peer_reviewed</lds50><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed><cites>FETCH-LOGICAL-c284t-3bfd4daaa9ef23f943c37e2aa97014a0372cf9de7819c1974715c3d1f8d6c2cb3</cites><orcidid>0000-0002-4705-7042 ; 0000-0003-2233-0011 ; 0000-0001-9748-9161 ; 0000-0003-3062-4204</orcidid></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktohtml>$$Uhttps://ieeexplore.ieee.org/document/9291466$$EHTML$$P50$$Gieee$$H</linktohtml><link.rule.ids>314,776,780,27903,27904,54774</link.rule.ids></links><search><creatorcontrib>Pedrero, Manuel</creatorcontrib><creatorcontrib>Quislant, Ricardo</creatorcontrib><creatorcontrib>Gutierrez, Eladio</creatorcontrib><creatorcontrib>Zapata, Emilio L.</creatorcontrib><creatorcontrib>Plata, Oscar</creatorcontrib><title>Speculative Barriers With Transactional Memory</title><title>IEEE transactions on computers</title><addtitle>TC</addtitle><description>Transactional Memory (TM) is a synchronization model for parallel programming which provides optimistic concurrency control. Transactions can run in parallel and are only serialized in case of conflict. In this article we use hardware TM (HTM) to implement an optimistic speculative barrier (SB) to replace the lock-based solution. SBs leverage HTM support to elide barriers speculatively. When a thread reaches an SB, a new SB transaction is started, keeping the updates private to the thread, and letting the HTM system detect potential conflicts. Once the last thread reaches the corresponding SB, the speculative threads can commit their changes. The main contributions of this work are: an API for SBs implemented with HTM extensions; a procedure to check the speculation state in between barriers to enable SBs with non-transactional codes; a HTM SB-aware conflict resolution enhancement where SB transactions stall on a conflict with a standard transaction; and a set of SB use guidelines derived from our experience on using SBs in a variety of applications. We evaluated our proposals in two different architectures with a full-system simulator and an IBM Power8 server. Results show an overall performance improvement of SBs over traditional barriers.</description><subject>Computer architecture</subject><subject>Concurrency control</subject><subject>Conflict resolution</subject><subject>GEMS</subject><subject>Hardware</subject><subject>hardware transactional memory</subject><subject>IBM power8</subject><subject>Instruction sets</subject><subject>Message systems</subject><subject>Parallel programming</subject><subject>Proposals</subject><subject>Protocols</subject><subject>shared-memory parallelism</subject><subject>Speculative barriers</subject><subject>Synchronism</subject><issn>0018-9340</issn><issn>1557-9956</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2022</creationdate><recordtype>article</recordtype><recordid>eNo9kMFLwzAUxoMoWKdnD14Kntu9l6RNc9TiVJh4sOIxZOkLdmzrTDph_70dG54eH_y-j8ePsVuEHBH0tKlzDhxyAVJyIc9YgkWhMq2L8pwlAFhlWki4ZFcxLgGg5KATln9sye1Wduh-KX20IXQUYvrVDd9pE-wmWjd0_cau0jda92F_zS68XUW6Od0J-5w9NfVLNn9_fq0f5pnjlRwysfCtbK21mjwXXkvhhCI-ZgUoLQjFndctqQq1Q62kwsKJFn3Vlo67hZiw--PuNvQ_O4qDWfa7MP4RDS8RUCFANVLTI-VCH2Mgb7ahW9uwNwjmIMU0tTlIMScpY-Pu2OiI6J_WXKMsS_EHYnlcTw</recordid><startdate>20220101</startdate><enddate>20220101</enddate><creator>Pedrero, Manuel</creator><creator>Quislant, Ricardo</creator><creator>Gutierrez, Eladio</creator><creator>Zapata, Emilio L.</creator><creator>Plata, Oscar</creator><general>IEEE</general><general>The Institute of Electrical and Electronics Engineers, Inc. (IEEE)</general><scope>97E</scope><scope>RIA</scope><scope>RIE</scope><scope>AAYXX</scope><scope>CITATION</scope><scope>7SC</scope><scope>7SP</scope><scope>8FD</scope><scope>JQ2</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope><orcidid>https://orcid.org/0000-0002-4705-7042</orcidid><orcidid>https://orcid.org/0000-0003-2233-0011</orcidid><orcidid>https://orcid.org/0000-0001-9748-9161</orcidid><orcidid>https://orcid.org/0000-0003-3062-4204</orcidid></search><sort><creationdate>20220101</creationdate><title>Speculative Barriers With Transactional Memory</title><author>Pedrero, Manuel ; Quislant, Ricardo ; Gutierrez, Eladio ; Zapata, Emilio L. ; Plata, Oscar</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c284t-3bfd4daaa9ef23f943c37e2aa97014a0372cf9de7819c1974715c3d1f8d6c2cb3</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2022</creationdate><topic>Computer architecture</topic><topic>Concurrency control</topic><topic>Conflict resolution</topic><topic>GEMS</topic><topic>Hardware</topic><topic>hardware transactional memory</topic><topic>IBM power8</topic><topic>Instruction sets</topic><topic>Message systems</topic><topic>Parallel programming</topic><topic>Proposals</topic><topic>Protocols</topic><topic>shared-memory parallelism</topic><topic>Speculative barriers</topic><topic>Synchronism</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Pedrero, Manuel</creatorcontrib><creatorcontrib>Quislant, Ricardo</creatorcontrib><creatorcontrib>Gutierrez, Eladio</creatorcontrib><creatorcontrib>Zapata, Emilio L.</creatorcontrib><creatorcontrib>Plata, Oscar</creatorcontrib><collection>IEEE All-Society Periodicals Package (ASPP) 2005-present</collection><collection>IEEE All-Society Periodicals Package (ASPP) 1998-Present</collection><collection>IEEE/IET Electronic Library (IEL)</collection><collection>CrossRef</collection><collection>Computer and Information Systems Abstracts</collection><collection>Electronics &amp; Communications Abstracts</collection><collection>Technology Research Database</collection><collection>ProQuest Computer Science Collection</collection><collection>Advanced Technologies Database with Aerospace</collection><collection>Computer and Information Systems Abstracts – Academic</collection><collection>Computer and Information Systems Abstracts Professional</collection><jtitle>IEEE transactions on computers</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Pedrero, Manuel</au><au>Quislant, Ricardo</au><au>Gutierrez, Eladio</au><au>Zapata, Emilio L.</au><au>Plata, Oscar</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Speculative Barriers With Transactional Memory</atitle><jtitle>IEEE transactions on computers</jtitle><stitle>TC</stitle><date>2022-01-01</date><risdate>2022</risdate><volume>71</volume><issue>1</issue><spage>197</spage><epage>208</epage><pages>197-208</pages><issn>0018-9340</issn><eissn>1557-9956</eissn><coden>ITCOB4</coden><abstract>Transactional Memory (TM) is a synchronization model for parallel programming which provides optimistic concurrency control. Transactions can run in parallel and are only serialized in case of conflict. In this article we use hardware TM (HTM) to implement an optimistic speculative barrier (SB) to replace the lock-based solution. SBs leverage HTM support to elide barriers speculatively. When a thread reaches an SB, a new SB transaction is started, keeping the updates private to the thread, and letting the HTM system detect potential conflicts. Once the last thread reaches the corresponding SB, the speculative threads can commit their changes. The main contributions of this work are: an API for SBs implemented with HTM extensions; a procedure to check the speculation state in between barriers to enable SBs with non-transactional codes; a HTM SB-aware conflict resolution enhancement where SB transactions stall on a conflict with a standard transaction; and a set of SB use guidelines derived from our experience on using SBs in a variety of applications. We evaluated our proposals in two different architectures with a full-system simulator and an IBM Power8 server. Results show an overall performance improvement of SBs over traditional barriers.</abstract><cop>New York</cop><pub>IEEE</pub><doi>10.1109/TC.2020.3044234</doi><tpages>12</tpages><orcidid>https://orcid.org/0000-0002-4705-7042</orcidid><orcidid>https://orcid.org/0000-0003-2233-0011</orcidid><orcidid>https://orcid.org/0000-0001-9748-9161</orcidid><orcidid>https://orcid.org/0000-0003-3062-4204</orcidid><oa>free_for_read</oa></addata></record>
fulltext fulltext
identifier ISSN: 0018-9340
ispartof IEEE transactions on computers, 2022-01, Vol.71 (1), p.197-208
issn 0018-9340
1557-9956
language eng
recordid cdi_ieee_primary_9291466
source IEEE Xplore (Online service)
subjects Computer architecture
Concurrency control
Conflict resolution
GEMS
Hardware
hardware transactional memory
IBM power8
Instruction sets
Message systems
Parallel programming
Proposals
Protocols
shared-memory parallelism
Speculative barriers
Synchronism
title Speculative Barriers With Transactional Memory
url http://sfxeu10.hosted.exlibrisgroup.com/loughborough?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-24T23%3A34%3A05IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_ieee_&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Speculative%20Barriers%20With%20Transactional%20Memory&rft.jtitle=IEEE%20transactions%20on%20computers&rft.au=Pedrero,%20Manuel&rft.date=2022-01-01&rft.volume=71&rft.issue=1&rft.spage=197&rft.epage=208&rft.pages=197-208&rft.issn=0018-9340&rft.eissn=1557-9956&rft.coden=ITCOB4&rft_id=info:doi/10.1109/TC.2020.3044234&rft_dat=%3Cproquest_ieee_%3E2610171008%3C/proquest_ieee_%3E%3Cgrp_id%3Ecdi_FETCH-LOGICAL-c284t-3bfd4daaa9ef23f943c37e2aa97014a0372cf9de7819c1974715c3d1f8d6c2cb3%3C/grp_id%3E%3Coa%3E%3C/oa%3E%3Curl%3E%3C/url%3E&rft_id=info:oai/&rft_pqid=2610171008&rft_id=info:pmid/&rft_ieee_id=9291466&rfr_iscdi=true