Show simple item record

dc.contributor.authorAvni, Hillel
dc.contributor.authorSuissa, Adi
dc.contributor.authorShavit, Nir N.
dc.date.accessioned2014-10-10T15:21:59Z
dc.date.available2014-10-10T15:21:59Z
dc.date.issued2013-07
dc.identifier.isbn9781450320658
dc.identifier.urihttp://hdl.handle.net/1721.1/90890
dc.description.abstractWe 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.en_US
dc.description.sponsorshipNational Science Foundation (U.S.) (Grant CCF-1217921)en_US
dc.description.sponsorshipUnited States. Dept. of Energy. Office of Advanced Scientific Computing Research (Grant ER26116/DE-SC0008923)en_US
dc.description.sponsorshipOracle Corporationen_US
dc.description.sponsorshipIntel Corporationen_US
dc.language.isoen_US
dc.publisherAssociation for Computing Machinery (ACM)en_US
dc.relation.isversionofhttp://dx.doi.org/10.1145/2484239.2484254en_US
dc.rightsCreative Commons Attribution-Noncommercial-Share Alikeen_US
dc.rights.urihttp://creativecommons.org/licenses/by-nc-sa/4.0/en_US
dc.sourceOther univ. web domainen_US
dc.titleLeaplist: lessons learned in designing tm-supported range queriesen_US
dc.typeArticleen_US
dc.identifier.citationHillel 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.en_US
dc.contributor.departmentMassachusetts Institute of Technology. Department of Electrical Engineering and Computer Scienceen_US
dc.contributor.mitauthorShavit, Nir N.en_US
dc.relation.journalProceedings of the 2013 ACM symposium on Principles of distributed computing (PODC '13)en_US
dc.eprint.versionOriginal manuscripten_US
dc.type.urihttp://purl.org/eprint/type/ConferencePaperen_US
eprint.statushttp://purl.org/eprint/status/NonPeerRevieweden_US
dspace.orderedauthorsAvni, Hillel; Shavit, Nir; Suissa, Adien_US
dc.identifier.orcidhttps://orcid.org/0000-0002-4552-2414
mit.licenseOPEN_ACCESS_POLICYen_US


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record