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...
Saved in:
Published in: | IEEE transactions on computers 2022-01, Vol.71 (1), p.197-208 |
---|---|
Main Authors: | , , , , |
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 & 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 |