Fri 17 Jun 2016 10:30 - 11:00 at Grand Ballroom San Rafael - Parallelism II Chair(s): Albert Cohen

We introduce transactions into libraries of concurrent data structures; such transactions can be used to ensure atomicity of sequences of data structure operations. The resulting transactional data structures strike a balance between the ease-of-programming of transactions and the efficiency of custom-tailored data structures. We exemplify this concept by designing and implementing a library supporting transactions on any number of maps (implemented as skiplists) and queues. Our library offers efficient and scalable transactions, which are an order of magnitude faster than state-of-the-art transactional memory toolkits. Moreover, our approach treats stand-alone data structure operations (like \emph{put} and \emph{enqueue}) as first class citizens, and allows them to execute with virtually no overhead, at the speed of the original data structure library.