Simplifying concurrent algorithms by exploiting hardware transactional memory

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.

DOI: 10.1145/1810479.1810537

Extracted Key Phrases

6 Figures and Tables

Cite this paper

@inproceedings{Dice2010SimplifyingCA, title={Simplifying concurrent algorithms by exploiting hardware transactional memory}, author={David Dice and Yossi Lev and Virendra J. Marathe and Mark Moir and Daniel Nussbaum and Marek Olszewski}, booktitle={SPAA}, year={2010} }