Simplifying concurrent algorithms by exploiting hardware transactional memory

  • Authors:
  • Dave Dice;Yossi Lev;Virendra J. Marathe;Mark Moir;Dan Nussbaum;Marek Olszewski

  • Affiliations:
  • Sun Labs, Oracle, Burlington, MA, USA;Sun Labs, Oracle & Brown Univerisity, Burlington, MA, USA;Sun Labs, Oracle, Burlington, MA, USA;Sun Labs, Oracle, Burlington, MA, USA;Sun Labs, Oracle, Burlington, MA, USA;Sun Labs, Oracle & MIT, Burlington, MA, USA

  • Venue:
  • Proceedings of the twenty-second annual ACM symposium on Parallelism in algorithms and architectures
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

We explore the potential of hardware transactional memory (HTM) to improve concurrent algorithms. We illustrate a number of use cases in which HTM enables significantly simpler code to achieve similar or better performance than existing algorithms for conventional architectures. We use Sun's prototype multicore chip, code-named Rock, to experiment with these algorithms, and discuss ways in which its limitations prevent better results, or would prevent production use of algorithms even if they are successful. Our use cases include concurrent data structures such as double ended queues, work stealing queues and scalable non-zero indicators, as well as a scalable malloc implementation and a simulated annealing application. We believe that our paper makes a compelling case that HTM has substantial potential to make effective concurrent programming easier, and that we have made valuable contributions in guiding designers of future HTM features to exploit this potential.