@inproceedings{ba8a4bd6c631427f918d3b231e9879e3,
title = "Transactional data structure libraries",
abstract = "We introduce transactions into libraries of concurrent data structures; such transactions can be used to ensure atomicity of sequences of data structure operations. By focusing on transactional access to a well-defined set of data structure operations, we strike a balance between the ease-ofprogramming of transactions and the efficiency of customtailored data structures. We exemplify this concept by designing and implementing a library supporting transactions on any number of maps, sets (implemented as skiplists), and queues. Our library offers efficient and scalable transactions, which are an order of magnitude faster than state-of-theart transactional memory toolkits. Moreover, our approach treats stand-alone data structure operations (like put and enqueue) as first class citizens, and allows them to execute with virtually no overhead, at the speed of the original data structure library.",
keywords = "Concurrency, Data structures, Semantics, Transactions",
author = "Alexander Spiegelman and Guy Golan-Gueta and Idit Keidar",
note = "Publisher Copyright: {\textcopyright} 2016 ACM.; 37th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2016 ; Conference date: 13-06-2016 Through 17-06-2016",
year = "2016",
month = jun,
day = "2",
doi = "https://doi.org/10.1145/2908080.2908112",
language = "الإنجليزيّة",
series = "Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)",
pages = "682--696",
editor = "Chandra Krintz and Emery Berger",
booktitle = "PLDI 2016 - Proceedings of the 37th ACM SIGPLAN Conference on Programming Language Design and Implementation",
}