作者: Gokcen Kestor , Luke Dalessandro , Adrián Cristal , Michael L Scott , Osman Unsal
DOI:
关键词:
摘要: If transactional memory is to become a mature technology, TM research groups must be able to run each other’s code and to perform apples-to-apples comparisons of implementation alternatives. For C++ on the x86, significant steps in this direction have been made by compilers from Intel, the University of Dresden, and the GNU Project, which aim to accept the same language API and target the same runtime ABI. Unfortunately, these three compilers currently connect to only two main STM libraries. In the interest of greater interoperability, we have adapted the word-based “back end” libraries of the RSTM suite to the common ABI, and tested them with the Intel compiler. Notable changes to RSTM included support for true subword reads and writes along with in-library allocation, management, and rollback of checkpoints. To the best of our knowledge, RSTM supports the widest diversity of back ends currently available; our work makes these available, for the first time, to programs written with language-level transactions.For testing purposes, we use applications from the RMS-TM and STAMP benchmark suites (the latter adapted to the C++ standard API). We describe our experience at both the ABI and API levels, and present preliminary performance comparisons relative to the Intel standard back end. Public release of our tools will allow developers to experiment with the full range of STM implementation options, and to pursue ongoing research in TM semantics and hardware/software hybrid TM systems.