Concurrent Programming Made Simple

The (r)evolution of Transactional Memory

This talk will present Transactional Memory, a programming abstraction for managing concurrency, both in multi-threaded programs running on multi-core processors as well as in distributed cloud infra-structures.

This talk will present Transactional Memory (TM), a programming abstraction for managing concurrency, both in multi-threaded programs running on multi-core processors as well as in distributed cloud infra-structures. TM allows programmers to declare which parts of a program need to run atomically (i.e., as indivisible steps), while a generic implementation involving compilers, runtime libraries, middleware, and hardware support for TM takes care of ensuring this atomicity at runtime. The two presenters will give an overview of recent advances, standardization efforts (e.g., for C++), and open-source tools providing support for TM (e.g., GCC).