A practical transactional memory interface

Shahar Timnat, Maurice Herlihy, Erez Petrank

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

Hardware transactional memory (HTM) is becoming widely available on modern platforms. However, software using HTM requires at least two carefully-coordinated code paths: one for transactions, and at least one for when transactions either fail, or are not supported at all. We present the MCMS interface that allows a simple design of fast concurrent data structures. MCMS-based code can execute fast when HTM support is provided, but it also executes well on platforms that do not support HTM, and it handles transaction failures as well. To demonstrate the advantage of such an abstraction, we designed MCMS-based linked-list and tree algorithms. The list algorithm outperforms all known lock-free linked-lists by a factor of up to X2.15. The tree algorithm builds on Ellen et al. [7] and outperforms it by a factor of up to X1.37. Both algorithms are considerably simpler than their lock-free counterparts.

Original languageEnglish
Title of host publicationEuro-Par 2015
Subtitle of host publicationParallel Processing - 21st International Conference on Parallel and Distributed Computing, Proceedings
EditorsJesper Larsson Traff, Sascha Hunold, Francesco Versaci
Pages387-401
Number of pages15
DOIs
StatePublished - 2015
Event21st International Conference on Parallel and Distributed Computing, Euro-Par 2015 - Vienna, Austria
Duration: 24 Aug 201528 Aug 2015

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume9233

Conference

Conference21st International Conference on Parallel and Distributed Computing, Euro-Par 2015
Country/TerritoryAustria
CityVienna
Period24/08/1528/08/15

All Science Journal Classification (ASJC) codes

  • Theoretical Computer Science
  • General Computer Science

Fingerprint

Dive into the research topics of 'A practical transactional memory interface'. Together they form a unique fingerprint.

Cite this