

Transactional memory (TM) is a new parallel programming mechanism that reduces the complexity
of parallel programming. TM reduces parallel programming complexity by abstracting away the
necessary synchronization mechanisms from the parallel code, allowing the programmer to
write parallel applications without worry of deadlocks, livelocks or race conditions.
Transactional memory is an active research interest for many academic and industry institutions
with many open questions about its behavior.
DracoSTM is a C++ lock-based software transactional memory (STM) library. Our approach to
STM is to use only native language semantics while implementing the least intrusive, most
type-safe object oriented solution possible.
