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...

Full description

Bibliographic Details
Main Authors: Li, Tianyu, Chandramouli, Badrish, Madden, Samuel
Other Authors: Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Format: Article
Language:English
Published: Springer Science and Business Media LLC 2024
Online Access:https://hdl.handle.net/1721.1/155305
_version_ 1824458204413689856
author Li, Tianyu
Chandramouli, Badrish
Madden, Samuel
author2 Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
author_facet Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Li, Tianyu
Chandramouli, Badrish
Madden, Samuel
author_sort Li, Tianyu
collection MIT
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).
first_indexed 2024-09-23T13:11:28Z
format Article
id mit-1721.1/155305
institution Massachusetts Institute of Technology
language English
last_indexed 2025-02-19T04:22:10Z
publishDate 2024
publisher Springer Science and Business Media LLC
record_format dspace
spelling mit-1721.1/1553052025-01-07T04:40:41Z Performant almost-latch-free data structures using epoch protection in more depth Li, Tianyu Chandramouli, Badrish Madden, Samuel Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory 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). 2024-06-25T20:44:26Z 2024-06-25T20:44:26Z 2024-06-17 2024-06-23T03:16:37Z Article http://purl.org/eprint/type/JournalArticle 1066-8888 0949-877X https://hdl.handle.net/1721.1/155305 Li, T., Chandramouli, B. & Madden, S. Performant almost-latch-free data structures using epoch protection in more depth. The VLDB Journal (2024). PUBLISHER_CC en 10.1007/s00778-024-00859-8 The VLDB Journal Creative Commons Attribution https://creativecommons.org/licenses/by/4.0/ The Author(s) application/pdf Springer Science and Business Media LLC Springer Berlin Heidelberg
spellingShingle Li, Tianyu
Chandramouli, Badrish
Madden, Samuel
Performant almost-latch-free data structures using epoch protection in more depth
title Performant almost-latch-free data structures using epoch protection in more depth
title_full Performant almost-latch-free data structures using epoch protection in more depth
title_fullStr Performant almost-latch-free data structures using epoch protection in more depth
title_full_unstemmed Performant almost-latch-free data structures using epoch protection in more depth
title_short Performant almost-latch-free data structures using epoch protection in more depth
title_sort performant almost latch free data structures using epoch protection in more depth
url https://hdl.handle.net/1721.1/155305
work_keys_str_mv AT litianyu performantalmostlatchfreedatastructuresusingepochprotectioninmoredepth
AT chandramoulibadrish performantalmostlatchfreedatastructuresusingepochprotectioninmoredepth
AT maddensamuel performantalmostlatchfreedatastructuresusingepochprotectioninmoredepth