Leaplist: lessons learned in designing tm-supported range queries
Name
Shavit_Leaplist lessons.pdf
Size
139.2 KB
Format
Adobe PDF
Checksum (MD5)
6ce3ecdf17a864a7224b4555a7486d51
Author(s) • •
Avni, Hillel
Suissa, Adi
Shavit, Nir N.
Date Issued
July 2013
Journal
Proceedings of the 2013 ACM symposium on Principles of distributed computing (PODC '13)
Publisher
Association for Computing Machinery (ACM)
Citation
Hillel Avni, Nir Shavit, and Adi Suissa. 2013. Leaplist: lessons learned in designing tm-supported range queries. In Proceedings of the 2013 ACM symposium on Principles of distributed computing (PODC '13). ACM, New York, NY, USA, 299-308.
Version
Original manuscript
Abstract
We introduce Leaplist, a concurrent data-structure that is tailored to provide linearizable range queries. A lookup in Leaplist takes O (log n) and is comparable to a balanced binary search tree or to a Skiplist. However, in Leaplist, each node holds up-to K immutable key-value pairs, so collecting a linearizable range is K times faster than the same operation performed non-linearizably on a Skiplist.
We show how software transactional memory support in a commercial compiler helped us create an efficient lock-based implementation of Leaplist. We used this STM to implement short transactions which we call Locking Transactions (LT), to acquire locks, while verifying that the state of the data-structure is legal, and combine them with a transactional Consistency Oblivious Programming (COP) [2] mechanism to enhance data structure traversals.
We compare Leaplist to prior implementations of Skiplists, and show that while updates in the Leaplist are slower, lookups are somewhat faster, and for range-queries the Leaplist outperforms the Skiplist's non-linearizable range query operations by an order of magnitude. We believe that this data structure and its performance would have been impossible to obtain without the STM support.
MIT Department
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
Terms of Use
Creative Commons Attribution-Noncommercial-Share Alike
Persistent DSpace Link
DOI of Published Version
https://doi.org/10.1145/2484239.2484254