Skip to Main content Skip to Navigation
Conference papers

Check-Wait-Pounce: Increasing Transactional Data Structure Throughput by Delaying Transactions

Abstract : Transactional data structures allow data structures to support transactional execution, in which a sequence of operations appears to execute atomically. We consider a paradigm in which a transaction commits its changes to the data structure only if all of its operations succeed; if one operation fails, then the transaction aborts. In this work, we introduce an optimization technique called Check-Wait-Pounce that increases performance by avoiding aborts that occur due to failed operations. Check-Wait-Pounce improves upon existing methodologies by delaying the execution of transactions until they are expected to succeed, using a thread-unsafe representation of the data structure as a heuristic. Our evaluation reveals that Check-Wait-Pounce reduces the number of aborts by an average of 49.0%. Because of this reduction in aborts, the tested transactional linked lists achieve average gains in throughput of 2.5x, while some achieve gains as high as 4x.
Complete list of metadata

Cited literature [18 references]  Display  Hide  Download
Contributor : Hal Ifip Connect in order to contact the contributor
Submitted on : Friday, October 18, 2019 - 9:48:21 AM
Last modification on : Friday, May 21, 2021 - 5:58:04 PM
Long-term archiving on: : Sunday, January 19, 2020 - 1:43:43 PM


Files produced by the author(s)


Distributed under a Creative Commons Attribution 4.0 International License



Lance Lebanoff, Christina Peterson, Damian Dechev. Check-Wait-Pounce: Increasing Transactional Data Structure Throughput by Delaying Transactions. 19th IFIP International Conference on Distributed Applications and Interoperable Systems (DAIS), Jun 2019, Kongens Lyngby, Denmark. pp.19-35, ⟨10.1007/978-3-030-22496-7_2⟩. ⟨hal-02319577⟩



Record views


Files downloads