Our seminar series is free and available for anyone to attend. Unless otherwise stated, seminars take place on Wednesday afternoons at 2pm in the Kilburn Building during teaching season.

If you wish to propose a seminar speaker please contact Antoniu Pop.


STM in the Small: Trading Generality for Performance in Software Transactional Memory

  • Speaker:   Dr  Tim Harris  (Microsoft Research, Cambridge)
  • Host:   Mikel Lujan
  • 9th May 2012 at 14:15 in Kilburn Lecture Theatre 1.4
The shift to parallel processing has led to a renewed importance in designing fast, scalable data structures. However, it is extremely difficult to do this using the low-level primitives available on current hardware. For instance, a new design for a hashtable can lead to a research paper at a good conference. It is difficult both to design fast, scalable data structures, and to prove that the resulting designs are correct.

Many researchers have studied software transactional memory (STM) as a technique to help make it easier to build shared-memory data structures. STM lets a thread perform a batch of memory accesses as a single, atomic, transaction -- thereby updating a data structure from one consistent state to another. The abstraction of atomic transactions makes it much easier to design data structures, and to be sure that they are correct.

Unfortunately, STM implementations are often too slow to be used in practice. In this talk I will introduce a new, alternative, abstraction for building shared memory data structures. We call the approach "SpecTM". SpecTM provides the programmer with specialized APIs for writing the kinds of transaction that occur in the implementations of shared data structures, rather than the general-purpose APIs exposed by earlier STM systems.

I will show how data structures implemented using SpecTM offer essentially the same performance and scalability as state-of-the art implementations. Furthermore, SpecTM transactions can be mixed with normal transactions, allowing fast-path operations to be specialized for greater performance, while allowing less common cases to be expressed using normal transactions for simplicity. I believe that SpecTM provides a ``sweet spot'' for expert programmers developing scalable data structures.
▲ Up to the top