

Toward.Boost.STM (or just TBoost.STM), formerly DracoSTM, is a C++ lock-based software transactional memory (STM)
library. Our approach to STM is to build an industrial strength STM library using native C++
language semantics while implementing the least intrusive, most type-safe object oriented
solution possible.
For details on the underlying software architecture of TBoost.STM, including explanations
of its API, please refer to our summary paper, "DracoSTM: A Practical C++ Approach to
Software Transactional Memory."
DracoSTM: A Practical C++ Approach to Software Transactional Memory
TBoost.STM uses a novel method of consistency checking called invalidation. Invalidation can assist
in both high performance and strict contention management control. For more information on how
invalidation can improve overall system performance and ensure true user-defined contention management
policies, see our below research papers.
Justin E. Gottschlich and Daniel A. Connors
[Proceedings of the ACM SIGPLAN Symposium on Library-Centric Software Design (LCSD), October 2007]
Optimizing Consistency Checking for Memory-Intensive Transactions
Justin E. Gottschlich and Daniel A. Connors
[Proceedings of the ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing (PODC) (brief announcement), August 2008]
[Full paper here]
Extending Contention Managers for User-Defined Priority Based TransactionsTBoost.STM now supports transaction-lock interaction. This support allows existing lock-based parallel code to interact safely with transactions. In addition, we provide three types of transaction-lock interaction with varying degrees of performance. Please see our research paper for more details.
Justin E. Gottschlich and Daniel A. Connors
[Proceedings of the ACM Workshop on Exploiting Parallelism with Transactional Memory and other Hardware Assisted Methods (EPHAM), April 2008]
Lock-Aware Transactional Memory and Composable Locks
Justin E. Gottschlich, Daniel A. Connors and Jeremy G. Siek
[currently under review]