A Template for Implementing Fast Lock-free Trees Using HTM
| dc.contributor.author | Brown, Trevor | |
| dc.date.accessioned | 2026-10-22T12:55:57Z | |
| dc.date.issued | 2017-07-25 | |
| dc.description | PODC 2017 author’s accepted manuscript, 10 pages. Copyright 2017 the author; publication rights licensed to ACM. This author version is posted for personal use and not for redistribution. Definitive Version of Record: https://doi.org/10.1145/3087801.3087834. Includes the 2-page accepted manuscript of “Brief Announcement: Faster Data Structures in Transactional Memory Using Three Paths,” DISC 2015, LNCS 9363, pp. 671–672, Springer Berlin Heidelberg; copyright 2015 Springer-Verlag Berlin Heidelberg. Final book: https://doi.org/10.1007/978-3-662-48653-5. Use of the brief manuscript is subject to Springer Nature’s accepted-manuscript terms: https://www.springernature.com/gp/open-research/policies/accepted-manuscript-terms. Also includes the 20-page expanded manuscript, arXiv:1708.04838v1 (2017), not separately peer reviewed. PDFs and existing notices unchanged; no new Creative Commons licence assigned. | |
| dc.description.abstract | Algorithms that use hardware transactional memory (HTM) must provide a software-only fallback path to guarantee progress. The design of the fallback path can have a profound impact on performance. If the fallback path is allowed to run concurrently with hardware transactions, then hardware transactions must be instrumented, adding significant overhead. Otherwise, hardware transactions must wait for any processes on the fallback path, causing concurrency bottlenecks, or move to the fallback path. We introduce an approach that combines the best of both worlds. The key idea is to use three execution paths: an HTM fast path, an HTM middle path, and a software fallback path, such that the middle path can run concurrently with each of the other two. The fast path and fallback path do not run concurrently, so the fast path incurs no instrumentation overhead. Furthermore, fast path transactions can move to the middle path instead of waiting or moving to the software path. We demonstrate our approach by producing an accelerated version of the tree update template of Brown et al., which can be used to implement fast lock-free data structures based on down-trees. We used the accelerated template to implement two lock-free trees: a binary search tree (BST), and an (a,b)-tree (a generalization of a B-tree). Experiments show that, with 72 concurrent processes, our accelerated (a,b)-tree performs between 4.0x and 4.2x as many operations per second as an implementation obtained using the original tree update template. | |
| dc.description.sponsorship | Natural Sciences and Engineering Research Council of Canada | |
| dc.identifier.uri | https://doi.org/10.1145/3087801.3087834 | |
| dc.identifier.uri | https://hdl.handle.net/10012/24570 | |
| dc.language.iso | en | |
| dc.publisher | Association for Computing Machinery | |
| dc.relation.ispartofseries | PODC'17 | |
| dc.subject | search trees | |
| dc.subject | transactional memory | |
| dc.title | A Template for Implementing Fast Lock-free Trees Using HTM | |
| dc.title.alternative | Brief Announcement: Faster Data Structures in Transactional Memory Using Three Paths | |
| dc.type | Conference Paper | |
| dcterms.bibliographicCitation | Trevor Brown. 2017. A Template for Implementing Fast Lock-free Trees Using HTM. In Proceedings of the ACM Symposium on Principles of Distributed Computing (PODC 2017), pp. 293–302. ACM. https://doi.org/10.1145/3087801.3087834 | |
| uws.contributor.affiliation1 | Faculty of Mathematics | |
| uws.contributor.affiliation2 | David R. Cheriton School of Computer Science | |
| uws.peerReviewStatus | Reviewed | |
| uws.scholarLevel | Faculty | |
| uws.typeOfResource | Text | en |
Files
Original bundle
1 - 3 of 3
Loading...
- Name:
- cv-32-a-template-for-implementing-fast-lock-free-trees-using-htm.pdf
- Size:
- 1.28 MB
- Format:
- Adobe Portable Document Format
- Description:
- PODC 2017 author’s accepted manuscript, 10 pages; published edition pp. 293–302. Copyright retained by author, publication rights licensed to ACM. PDF unchanged.
Loading...
- Name:
- cv-47-faster-data-structures-in-transactional-memory-using-three-paths.pdf
- Size:
- 186.8 KB
- Format:
- Adobe Portable Document Format
- Description:
- DISC 2015 brief announcement, accepted manuscript, 2 pages; published pp. 671–672. Subject to Springer Nature’s accepted-manuscript terms; see record notice. PDF unchanged.
Loading...
- Name:
- cv-59-a-template-for-implementing-fast-lock-free-trees-using-htm-2017.pdf
- Size:
- 1.69 MB
- Format:
- Adobe Portable Document Format
- Description:
- Expanded manuscript, 20 pages, arXiv:1708.04838v1 (2017). Not separately peer reviewed. Original PDF and existing notices unchanged.
License bundle
1 - 1 of 1
Loading...
- Name:
- license.txt
- Size:
- 4.47 KB
- Format:
- Item-specific license agreed upon to submission
- Description: