Supporting nested transactional memory in LogTM
Nested transactional memory (TM) facilitates software composition by letting one module invoke another without either knowing whether the other uses transactions. Closed nested transactions extend isolation of an inner transaction until the toplevel transaction commits. Implementations may flatten n...
Gespeichert in:
Veröffentlicht in: | ACM SIGPLAN Notices 2006-12, Vol.40 (5), p.359-370 |
---|---|
Hauptverfasser: | , , , , , , , |
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
container_end_page | 370 |
---|---|
container_issue | 5 |
container_start_page | 359 |
container_title | ACM SIGPLAN Notices |
container_volume | 40 |
creator | MORAVAN, Michelle J BOBBA, Jayaram MOORE, Kevin E YEN, Luke HILL, Mark D LIBLIT, Ben SWIFT, Michael M WOOD, David A |
description | Nested transactional memory (TM) facilitates software composition by letting one module invoke another without either knowing whether the other uses transactions. Closed nested transactions extend isolation of an inner transaction until the toplevel transaction commits. Implementations may flatten nested transactions into the top-level one, resulting in a complete abort on conflict, or allow partial abort of inner transactions. Open nested transactions allow a committing inner transaction to immediately release isolation, which increases parallelism and expressiveness at the cost of both software and hardware complexity.This paper extends the recently-proposed flat Log-based Transactional Memory (LogTM) with nested transactions. Flat LogTM saves pre-transaction values in a log, detects conflicts with read (R) and write (W) bits per cache block, and, on abort, invokes a software handler to unroll the log. Nested LogTM supports nesting by segmenting the log into a stack of activation records and modestly replicating R/W bits. To facilitate composition with nontransactional code, such as language runtime and operating system services, we propose escape actions that allow trusted code to run outside the confines of the transactional memory system. |
doi_str_mv | 10.1145/1168917.1168902 |
format | Article |
fullrecord | <record><control><sourceid>proquest_cross</sourceid><recordid>TN_cdi_proquest_miscellaneous_30983756</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>30983756</sourcerecordid><originalsourceid>FETCH-LOGICAL-c1786-8b947fe1d1c48421e73932d2fae908557d8adb49868d23b08ebe6bd6194ee8273</originalsourceid><addsrcrecordid>eNqFkDtPwzAUhS0eEm1hZs0CW1pf27GvR1TxkooYKBKb5SROFZQXdjrw73FpJEamM9xzjs79CLkGugQQ2QpAoga1_FXKTsgMtOBphvLjlMwh05nmnGp-RmYUZDxopBdkHsInpYAgYUZWb_th6P1Yd7ukc2F0ZTJ62wVbjHXf2SZpXdv776Tukk2_275ckvPKNsFdTbog7w_32_VTunl9fF7fbdICFMoUcy1U5aCEQqBg4BTXnJWssk5TzDJVoi1zoVFiyXhO0eVO5qWM-51DpviC3B57B99_7eMw09ahcE1jO9fvg4lvIVeZ_NfItBCci0Pj6mgsfB-Cd5UZfN1a_22AmgNOM-E0E86YuJmqbShsU0UuRR3-Yhj3Cyr5D81XcMg</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>29443347</pqid></control><display><type>article</type><title>Supporting nested transactional memory in LogTM</title><source>ACM Digital Library Complete</source><creator>MORAVAN, Michelle J ; BOBBA, Jayaram ; MOORE, Kevin E ; YEN, Luke ; HILL, Mark D ; LIBLIT, Ben ; SWIFT, Michael M ; WOOD, David A</creator><creatorcontrib>MORAVAN, Michelle J ; BOBBA, Jayaram ; MOORE, Kevin E ; YEN, Luke ; HILL, Mark D ; LIBLIT, Ben ; SWIFT, Michael M ; WOOD, David A</creatorcontrib><description>Nested transactional memory (TM) facilitates software composition by letting one module invoke another without either knowing whether the other uses transactions. Closed nested transactions extend isolation of an inner transaction until the toplevel transaction commits. Implementations may flatten nested transactions into the top-level one, resulting in a complete abort on conflict, or allow partial abort of inner transactions. Open nested transactions allow a committing inner transaction to immediately release isolation, which increases parallelism and expressiveness at the cost of both software and hardware complexity.This paper extends the recently-proposed flat Log-based Transactional Memory (LogTM) with nested transactions. Flat LogTM saves pre-transaction values in a log, detects conflicts with read (R) and write (W) bits per cache block, and, on abort, invokes a software handler to unroll the log. Nested LogTM supports nesting by segmenting the log into a stack of activation records and modestly replicating R/W bits. To facilitate composition with nontransactional code, such as language runtime and operating system services, we propose escape actions that allow trusted code to run outside the confines of the transactional memory system.</description><identifier>ISSN: 0163-5980</identifier><identifier>ISSN: 0362-1340</identifier><identifier>ISBN: 1595933093</identifier><identifier>ISBN: 9781595933096</identifier><identifier>EISSN: 1943-586X</identifier><identifier>DOI: 10.1145/1168917.1168902</identifier><identifier>CODEN: OSRED8</identifier><language>eng</language><publisher>New York, NY: Association for Computing Machinery</publisher><subject>Applied sciences ; Computer science; control theory; systems ; Exact sciences and technology ; Programming languages ; Software</subject><ispartof>ACM SIGPLAN Notices, 2006-12, Vol.40 (5), p.359-370</ispartof><rights>2007 INIST-CNRS</rights><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c1786-8b947fe1d1c48421e73932d2fae908557d8adb49868d23b08ebe6bd6194ee8273</citedby><cites>FETCH-LOGICAL-c1786-8b947fe1d1c48421e73932d2fae908557d8adb49868d23b08ebe6bd6194ee8273</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>309,310,314,776,780,785,786,23911,23912,25120,27903,27904</link.rule.ids><backlink>$$Uhttp://pascal-francis.inist.fr/vibad/index.php?action=getRecordDetail&idt=18498406$$DView record in Pascal Francis$$Hfree_for_read</backlink></links><search><creatorcontrib>MORAVAN, Michelle J</creatorcontrib><creatorcontrib>BOBBA, Jayaram</creatorcontrib><creatorcontrib>MOORE, Kevin E</creatorcontrib><creatorcontrib>YEN, Luke</creatorcontrib><creatorcontrib>HILL, Mark D</creatorcontrib><creatorcontrib>LIBLIT, Ben</creatorcontrib><creatorcontrib>SWIFT, Michael M</creatorcontrib><creatorcontrib>WOOD, David A</creatorcontrib><title>Supporting nested transactional memory in LogTM</title><title>ACM SIGPLAN Notices</title><description>Nested transactional memory (TM) facilitates software composition by letting one module invoke another without either knowing whether the other uses transactions. Closed nested transactions extend isolation of an inner transaction until the toplevel transaction commits. Implementations may flatten nested transactions into the top-level one, resulting in a complete abort on conflict, or allow partial abort of inner transactions. Open nested transactions allow a committing inner transaction to immediately release isolation, which increases parallelism and expressiveness at the cost of both software and hardware complexity.This paper extends the recently-proposed flat Log-based Transactional Memory (LogTM) with nested transactions. Flat LogTM saves pre-transaction values in a log, detects conflicts with read (R) and write (W) bits per cache block, and, on abort, invokes a software handler to unroll the log. Nested LogTM supports nesting by segmenting the log into a stack of activation records and modestly replicating R/W bits. To facilitate composition with nontransactional code, such as language runtime and operating system services, we propose escape actions that allow trusted code to run outside the confines of the transactional memory system.</description><subject>Applied sciences</subject><subject>Computer science; control theory; systems</subject><subject>Exact sciences and technology</subject><subject>Programming languages</subject><subject>Software</subject><issn>0163-5980</issn><issn>0362-1340</issn><issn>1943-586X</issn><isbn>1595933093</isbn><isbn>9781595933096</isbn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2006</creationdate><recordtype>article</recordtype><recordid>eNqFkDtPwzAUhS0eEm1hZs0CW1pf27GvR1TxkooYKBKb5SROFZQXdjrw73FpJEamM9xzjs79CLkGugQQ2QpAoga1_FXKTsgMtOBphvLjlMwh05nmnGp-RmYUZDxopBdkHsInpYAgYUZWb_th6P1Yd7ukc2F0ZTJ62wVbjHXf2SZpXdv776Tukk2_275ckvPKNsFdTbog7w_32_VTunl9fF7fbdICFMoUcy1U5aCEQqBg4BTXnJWssk5TzDJVoi1zoVFiyXhO0eVO5qWM-51DpviC3B57B99_7eMw09ahcE1jO9fvg4lvIVeZ_NfItBCci0Pj6mgsfB-Cd5UZfN1a_22AmgNOM-E0E86YuJmqbShsU0UuRR3-Yhj3Cyr5D81XcMg</recordid><startdate>20061201</startdate><enddate>20061201</enddate><creator>MORAVAN, Michelle J</creator><creator>BOBBA, Jayaram</creator><creator>MOORE, Kevin E</creator><creator>YEN, Luke</creator><creator>HILL, Mark D</creator><creator>LIBLIT, Ben</creator><creator>SWIFT, Michael M</creator><creator>WOOD, David A</creator><general>Association for Computing Machinery</general><scope>IQODW</scope><scope>AAYXX</scope><scope>CITATION</scope><scope>7SC</scope><scope>8FD</scope><scope>JQ2</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope></search><sort><creationdate>20061201</creationdate><title>Supporting nested transactional memory in LogTM</title><author>MORAVAN, Michelle J ; BOBBA, Jayaram ; MOORE, Kevin E ; YEN, Luke ; HILL, Mark D ; LIBLIT, Ben ; SWIFT, Michael M ; WOOD, David A</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c1786-8b947fe1d1c48421e73932d2fae908557d8adb49868d23b08ebe6bd6194ee8273</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2006</creationdate><topic>Applied sciences</topic><topic>Computer science; control theory; systems</topic><topic>Exact sciences and technology</topic><topic>Programming languages</topic><topic>Software</topic><toplevel>online_resources</toplevel><creatorcontrib>MORAVAN, Michelle J</creatorcontrib><creatorcontrib>BOBBA, Jayaram</creatorcontrib><creatorcontrib>MOORE, Kevin E</creatorcontrib><creatorcontrib>YEN, Luke</creatorcontrib><creatorcontrib>HILL, Mark D</creatorcontrib><creatorcontrib>LIBLIT, Ben</creatorcontrib><creatorcontrib>SWIFT, Michael M</creatorcontrib><creatorcontrib>WOOD, David A</creatorcontrib><collection>Pascal-Francis</collection><collection>CrossRef</collection><collection>Computer and Information Systems 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>ACM SIGPLAN Notices</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>MORAVAN, Michelle J</au><au>BOBBA, Jayaram</au><au>MOORE, Kevin E</au><au>YEN, Luke</au><au>HILL, Mark D</au><au>LIBLIT, Ben</au><au>SWIFT, Michael M</au><au>WOOD, David A</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Supporting nested transactional memory in LogTM</atitle><jtitle>ACM SIGPLAN Notices</jtitle><date>2006-12-01</date><risdate>2006</risdate><volume>40</volume><issue>5</issue><spage>359</spage><epage>370</epage><pages>359-370</pages><issn>0163-5980</issn><issn>0362-1340</issn><eissn>1943-586X</eissn><isbn>1595933093</isbn><isbn>9781595933096</isbn><coden>OSRED8</coden><abstract>Nested transactional memory (TM) facilitates software composition by letting one module invoke another without either knowing whether the other uses transactions. Closed nested transactions extend isolation of an inner transaction until the toplevel transaction commits. Implementations may flatten nested transactions into the top-level one, resulting in a complete abort on conflict, or allow partial abort of inner transactions. Open nested transactions allow a committing inner transaction to immediately release isolation, which increases parallelism and expressiveness at the cost of both software and hardware complexity.This paper extends the recently-proposed flat Log-based Transactional Memory (LogTM) with nested transactions. Flat LogTM saves pre-transaction values in a log, detects conflicts with read (R) and write (W) bits per cache block, and, on abort, invokes a software handler to unroll the log. Nested LogTM supports nesting by segmenting the log into a stack of activation records and modestly replicating R/W bits. To facilitate composition with nontransactional code, such as language runtime and operating system services, we propose escape actions that allow trusted code to run outside the confines of the transactional memory system.</abstract><cop>New York, NY</cop><pub>Association for Computing Machinery</pub><doi>10.1145/1168917.1168902</doi><tpages>12</tpages></addata></record> |
fulltext | fulltext |
identifier | ISSN: 0163-5980 |
ispartof | ACM SIGPLAN Notices, 2006-12, Vol.40 (5), p.359-370 |
issn | 0163-5980 0362-1340 1943-586X |
language | eng |
recordid | cdi_proquest_miscellaneous_30983756 |
source | ACM Digital Library Complete |
subjects | Applied sciences Computer science control theory systems Exact sciences and technology Programming languages Software |
title | Supporting nested transactional memory in LogTM |
url | https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-28T04%3A29%3A59IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_cross&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Supporting%20nested%20transactional%20memory%20in%20LogTM&rft.jtitle=ACM%20SIGPLAN%20Notices&rft.au=MORAVAN,%20Michelle%20J&rft.date=2006-12-01&rft.volume=40&rft.issue=5&rft.spage=359&rft.epage=370&rft.pages=359-370&rft.issn=0163-5980&rft.eissn=1943-586X&rft.isbn=1595933093&rft.isbn_list=9781595933096&rft.coden=OSRED8&rft_id=info:doi/10.1145/1168917.1168902&rft_dat=%3Cproquest_cross%3E30983756%3C/proquest_cross%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=29443347&rft_id=info:pmid/&rfr_iscdi=true |