Computer Science Department
School of Computer Science, Carnegie Mellon University


Hardware Transactional Memory in C++

Mario Dehesa Azuara, Nick Stanley

May 2016
Reissued: December 2018

This report was originally produced as part of Computer Science Course 15-618
and was published on a website hosted by the university in May of 2016.


Keywords: Computer Science, tech reports, TSX, hardware transactional memory

We implemented various data structures and algorithms using Intel TSX (Transactional Synchronization Extensions) in order to determine how well TSX performs, how to optimize programs with TSX, and when TSX is an appropriate tool. We could not find general guidelines for when TSX is the appropriate solution to a problem, so we investigated when TSX is the appropriate tool and when it is less feasible. We discuss the challenges associated with implementing concurrent data structures with transactions, our solutions to some of these problems, and empirical evaluations of different heuristics and the performance of various data structures with TSX.

12 pages

Return to: SCS Technical Report Collection
School of Computer Science

This page maintained by