Gottschlich: Intel's C++ STM Compiler and Transactional Language Constructs for C++
Channel: CppNow
Date: 29/10/2013

Transactional memory (TM) promises to simplify parallel programming by moving the complexity of shared memory management away from the programmer's view. In this talk, we present the latest version of the Draft Specification of Transactional Language Constructs for C++ and its practical implementation within Intel's C++ software transactional memory (STM) compiler.

Boost library writers aim to write highly optimized and type-safe software. Because of this, in this talk we make a special effort to demonstrate how transactions in the Intel C++ STM compiler achieve rigid type-safety and optimization. In particular, we show how transactions can be used for complex operations, such as template declarations, member initialization lists, and failure atomic expressions (known as transaction expressions), as well as basic operations, such as function and class declarations. We also introduce relaxed transactions and demonstrate how irrevocable actions (e.g., actions which cannot be undone, like I/O) are used inside of them. We close with a roadmap for the Draft Specification of Transactional Language Constructs for C++ and an open, audience-driven discussion for proposed extensions to the specification.
---

*--*

---