Transactional Memory: From Semantics to Silicon
Google Tech Talks
April 25, 2007
Chip-level multiprocessing has recently emerged as one of the most effective solutions to the problem of increasing processor performance. As a result, issues related to construction of scalable and reliable concurrent applications have become increasingly important. In particular, providing effective means for controlling concurrent accesses to shared memory is currently one of the most pressing problems in concurrent programming. Traditionally, such accesses have been mediated using mutual-exclusion locks resulting in scalability, composability and safety problems. In this talk, I will present transactional memory, an alternative concurrency management mechanism eliminating many problems associated with lock-based synchronization.
I will first discuss language extensions that allow programmers to access transactional memory: the semantics of transaction-specific language constructs and the benefits of programming with these constructs over using mutual-exclusion locks. I will then proceed to discussing the architecture of the transactional memory system we developed at Intel