Software Transactional Memory

Stc
Date: 2007-03-08

Time: 11:45

Room: BBL room 471

Speaker: Mark Snyder

Title: Software Transactional Memory

Abstract

Concurrent programming used to be a rarefied endeavor that only a handful of systems programmers engaged in. With the advent of Java and the web, that all changed. Java provided easy to use language-level abstractions for locks and multi-threading and the web created a demand for server-side programmers that are well versed in concurrent programming.

With the recent trend towards multi-core CPUs the importance of concurrent programming is likely to grow even more. And yet, despite the increasing importance of concurrency, we are still using the same lock based techniques that were thought up by Dijkstra and others in the late 60's and early 70's.

Software transactional memory (STM) is a relatively new approach to concurrency programming that has been receiving a lot of attention recently. STM is a lock-free concurrency technique that promises to be safer and more scalable than the lock-based technologies of old. This talk will cover the fundamentals of lock-free concurrency and then explore software transactional memory in detail.