Software Transactional Memory
Room: BBL room 471
Title: Software Transactional Memory
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.