Performant almost-latch-free data structures using epoch protection in more depth
Multi-core scalability presents a major implementation challenge for data system designers today. Traditional methods such as latching no longer scale in today’s highly parallel architectures. While the designer can make use of techniques such as latch-free programming to painstakingly design specia...
Gespeichert in:
Veröffentlicht in: | The VLDB journal 2024-11, Vol.33 (6), p.1793-1812 |
---|---|
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 | 1812 |
---|---|
container_issue | 6 |
container_start_page | 1793 |
container_title | The VLDB journal |
container_volume | 33 |
creator | Li, Tianyu Chandramouli, Badrish Madden, Samuel |
description | Multi-core scalability presents a major implementation challenge for data system designers today. Traditional methods such as latching no longer scale in today’s highly parallel architectures. While the designer can make use of techniques such as latch-free programming to painstakingly design specialized, highly-performant solutions, such solutions are often intricate to build and difficult to reason about. Of particular interest to data system designers is a class of data structures we call
almost-latch-free
; such data structures can be made scalable in the common case, but have rare complications (e.g., dynamic resizing) that prevent full latch-free implementations. In this work, we present a new programming framework called Epoch-Protected Version Scheme (EPVS) to make it easy to build such data structures. EPVS makes use of
epoch protection
to preserve performance in the common case of latch-free operations, while allowing users to specify critical sections that execute under mutual exclusion for the rare, non-latch-free operations. We showcase the use of EPVS-based concurrency primitives in a few practical systems to demonstrate its competitive performance and intuitive guarantees. EPVS is available in open source as part of Microsoft’s FASTER project (Epoch Protected Version Scheme (source code) 2022; Microsoft FASTER 2022). |
doi_str_mv | 10.1007/s00778-024-00859-8 |
format | Article |
fullrecord | <record><control><sourceid>proquest_cross</sourceid><recordid>TN_cdi_proquest_journals_3119173977</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>3119173977</sourcerecordid><originalsourceid>FETCH-LOGICAL-c244t-9c058bd33738148b3b7493c26c4f9a0988a99e8c4d05ee6448b4849b73bbbaff3</originalsourceid><addsrcrecordid>eNp9kE9LxDAQxYMouK5-AU8Bz9FJkzbJURb_gaCCgreQZpPdLtumJunBb2-0gjfnMDOH33szPITOKVxSAHGVShOSQMUJgKwVkQdoAYqXRYj3Q7Sg0DREljpGJyntAKCqqnqBXp5d9CH2ZsjY7PuQMtmbbLfER-fw2mSDU46TzVN0CU-pGzbYjcFu8RhDdjZ3YcDdgPsQC-7GvD1FR97skzv7nUv0dnvzuronj093D6vrR2IrzjNRFmrZrhkTTFIuW9YKrpitGsu9MqCkNEo5afkaaucaXhAuuWoFa9vWeM-W6GL2LY98TC5lvQtTHMpJzShVVDAlRKGqmbIxpBSd12PsehM_NQX9HZ2eo9MlOv0TnZZFxGZRKvCwcfHP-h_VF4yCcjU</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>3119173977</pqid></control><display><type>article</type><title>Performant almost-latch-free data structures using epoch protection in more depth</title><source>Access via ACM Digital Library</source><source>SpringerLink Journals - AutoHoldings</source><creator>Li, Tianyu ; Chandramouli, Badrish ; Madden, Samuel</creator><creatorcontrib>Li, Tianyu ; Chandramouli, Badrish ; Madden, Samuel</creatorcontrib><description>Multi-core scalability presents a major implementation challenge for data system designers today. Traditional methods such as latching no longer scale in today’s highly parallel architectures. While the designer can make use of techniques such as latch-free programming to painstakingly design specialized, highly-performant solutions, such solutions are often intricate to build and difficult to reason about. Of particular interest to data system designers is a class of data structures we call
almost-latch-free
; such data structures can be made scalable in the common case, but have rare complications (e.g., dynamic resizing) that prevent full latch-free implementations. In this work, we present a new programming framework called Epoch-Protected Version Scheme (EPVS) to make it easy to build such data structures. EPVS makes use of
epoch protection
to preserve performance in the common case of latch-free operations, while allowing users to specify critical sections that execute under mutual exclusion for the rare, non-latch-free operations. We showcase the use of EPVS-based concurrency primitives in a few practical systems to demonstrate its competitive performance and intuitive guarantees. EPVS is available in open source as part of Microsoft’s FASTER project (Epoch Protected Version Scheme (source code) 2022; Microsoft FASTER 2022).</description><identifier>ISSN: 1066-8888</identifier><identifier>EISSN: 0949-877X</identifier><identifier>DOI: 10.1007/s00778-024-00859-8</identifier><language>eng</language><publisher>Berlin/Heidelberg: Springer Berlin Heidelberg</publisher><subject>Computer Science ; Data structures ; Data systems ; Database Management ; Designers ; Source code ; Special Issue Paper</subject><ispartof>The VLDB journal, 2024-11, Vol.33 (6), p.1793-1812</ispartof><rights>The Author(s) 2024</rights><rights>The Author(s) 2024. This work is published under http://creativecommons.org/licenses/by/4.0/ (the “License”). Notwithstanding the ProQuest Terms and Conditions, you may use this content in accordance with the terms of the License.</rights><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed><cites>FETCH-LOGICAL-c244t-9c058bd33738148b3b7493c26c4f9a0988a99e8c4d05ee6448b4849b73bbbaff3</cites><orcidid>0000-0003-2531-8253</orcidid></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktopdf>$$Uhttps://link.springer.com/content/pdf/10.1007/s00778-024-00859-8$$EPDF$$P50$$Gspringer$$Hfree_for_read</linktopdf><linktohtml>$$Uhttps://link.springer.com/10.1007/s00778-024-00859-8$$EHTML$$P50$$Gspringer$$Hfree_for_read</linktohtml><link.rule.ids>314,780,784,27924,27925,41488,42557,51319</link.rule.ids></links><search><creatorcontrib>Li, Tianyu</creatorcontrib><creatorcontrib>Chandramouli, Badrish</creatorcontrib><creatorcontrib>Madden, Samuel</creatorcontrib><title>Performant almost-latch-free data structures using epoch protection in more depth</title><title>The VLDB journal</title><addtitle>The VLDB Journal</addtitle><description>Multi-core scalability presents a major implementation challenge for data system designers today. Traditional methods such as latching no longer scale in today’s highly parallel architectures. While the designer can make use of techniques such as latch-free programming to painstakingly design specialized, highly-performant solutions, such solutions are often intricate to build and difficult to reason about. Of particular interest to data system designers is a class of data structures we call
almost-latch-free
; such data structures can be made scalable in the common case, but have rare complications (e.g., dynamic resizing) that prevent full latch-free implementations. In this work, we present a new programming framework called Epoch-Protected Version Scheme (EPVS) to make it easy to build such data structures. EPVS makes use of
epoch protection
to preserve performance in the common case of latch-free operations, while allowing users to specify critical sections that execute under mutual exclusion for the rare, non-latch-free operations. We showcase the use of EPVS-based concurrency primitives in a few practical systems to demonstrate its competitive performance and intuitive guarantees. EPVS is available in open source as part of Microsoft’s FASTER project (Epoch Protected Version Scheme (source code) 2022; Microsoft FASTER 2022).</description><subject>Computer Science</subject><subject>Data structures</subject><subject>Data systems</subject><subject>Database Management</subject><subject>Designers</subject><subject>Source code</subject><subject>Special Issue Paper</subject><issn>1066-8888</issn><issn>0949-877X</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2024</creationdate><recordtype>article</recordtype><sourceid>C6C</sourceid><recordid>eNp9kE9LxDAQxYMouK5-AU8Bz9FJkzbJURb_gaCCgreQZpPdLtumJunBb2-0gjfnMDOH33szPITOKVxSAHGVShOSQMUJgKwVkQdoAYqXRYj3Q7Sg0DREljpGJyntAKCqqnqBXp5d9CH2ZsjY7PuQMtmbbLfER-fw2mSDU46TzVN0CU-pGzbYjcFu8RhDdjZ3YcDdgPsQC-7GvD1FR97skzv7nUv0dnvzuronj093D6vrR2IrzjNRFmrZrhkTTFIuW9YKrpitGsu9MqCkNEo5afkaaucaXhAuuWoFa9vWeM-W6GL2LY98TC5lvQtTHMpJzShVVDAlRKGqmbIxpBSd12PsehM_NQX9HZ2eo9MlOv0TnZZFxGZRKvCwcfHP-h_VF4yCcjU</recordid><startdate>20241101</startdate><enddate>20241101</enddate><creator>Li, Tianyu</creator><creator>Chandramouli, Badrish</creator><creator>Madden, Samuel</creator><general>Springer Berlin Heidelberg</general><general>Springer Nature B.V</general><scope>C6C</scope><scope>AAYXX</scope><scope>CITATION</scope><orcidid>https://orcid.org/0000-0003-2531-8253</orcidid></search><sort><creationdate>20241101</creationdate><title>Performant almost-latch-free data structures using epoch protection in more depth</title><author>Li, Tianyu ; Chandramouli, Badrish ; Madden, Samuel</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c244t-9c058bd33738148b3b7493c26c4f9a0988a99e8c4d05ee6448b4849b73bbbaff3</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2024</creationdate><topic>Computer Science</topic><topic>Data structures</topic><topic>Data systems</topic><topic>Database Management</topic><topic>Designers</topic><topic>Source code</topic><topic>Special Issue Paper</topic><toplevel>online_resources</toplevel><creatorcontrib>Li, Tianyu</creatorcontrib><creatorcontrib>Chandramouli, Badrish</creatorcontrib><creatorcontrib>Madden, Samuel</creatorcontrib><collection>Springer Nature OA Free Journals</collection><collection>CrossRef</collection><jtitle>The VLDB journal</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Li, Tianyu</au><au>Chandramouli, Badrish</au><au>Madden, Samuel</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Performant almost-latch-free data structures using epoch protection in more depth</atitle><jtitle>The VLDB journal</jtitle><stitle>The VLDB Journal</stitle><date>2024-11-01</date><risdate>2024</risdate><volume>33</volume><issue>6</issue><spage>1793</spage><epage>1812</epage><pages>1793-1812</pages><issn>1066-8888</issn><eissn>0949-877X</eissn><abstract>Multi-core scalability presents a major implementation challenge for data system designers today. Traditional methods such as latching no longer scale in today’s highly parallel architectures. While the designer can make use of techniques such as latch-free programming to painstakingly design specialized, highly-performant solutions, such solutions are often intricate to build and difficult to reason about. Of particular interest to data system designers is a class of data structures we call
almost-latch-free
; such data structures can be made scalable in the common case, but have rare complications (e.g., dynamic resizing) that prevent full latch-free implementations. In this work, we present a new programming framework called Epoch-Protected Version Scheme (EPVS) to make it easy to build such data structures. EPVS makes use of
epoch protection
to preserve performance in the common case of latch-free operations, while allowing users to specify critical sections that execute under mutual exclusion for the rare, non-latch-free operations. We showcase the use of EPVS-based concurrency primitives in a few practical systems to demonstrate its competitive performance and intuitive guarantees. EPVS is available in open source as part of Microsoft’s FASTER project (Epoch Protected Version Scheme (source code) 2022; Microsoft FASTER 2022).</abstract><cop>Berlin/Heidelberg</cop><pub>Springer Berlin Heidelberg</pub><doi>10.1007/s00778-024-00859-8</doi><tpages>20</tpages><orcidid>https://orcid.org/0000-0003-2531-8253</orcidid><oa>free_for_read</oa></addata></record> |
fulltext | fulltext |
identifier | ISSN: 1066-8888 |
ispartof | The VLDB journal, 2024-11, Vol.33 (6), p.1793-1812 |
issn | 1066-8888 0949-877X |
language | eng |
recordid | cdi_proquest_journals_3119173977 |
source | Access via ACM Digital Library; SpringerLink Journals - AutoHoldings |
subjects | Computer Science Data structures Data systems Database Management Designers Source code Special Issue Paper |
title | Performant almost-latch-free data structures using epoch protection in more depth |
url | https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2024-12-20T00%3A20%3A36IST&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=Performant%20almost-latch-free%20data%20structures%20using%20epoch%20protection%20in%20more%20depth&rft.jtitle=The%20VLDB%20journal&rft.au=Li,%20Tianyu&rft.date=2024-11-01&rft.volume=33&rft.issue=6&rft.spage=1793&rft.epage=1812&rft.pages=1793-1812&rft.issn=1066-8888&rft.eissn=0949-877X&rft_id=info:doi/10.1007/s00778-024-00859-8&rft_dat=%3Cproquest_cross%3E3119173977%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=3119173977&rft_id=info:pmid/&rfr_iscdi=true |