| This is the "official" Scalable Synchronization Research Group page. Please check out our less-official-but-much-more-informative page too. Typical concurrent software systems rely on coarse-grained locking for correct semantics, but that approach does not scale. Addressing this problem with finer grained locks is difficult and error prone. We are exploring hardware and software support for making it easier to develop concurrent programs that are scalable, efficient, and correct. We have a special focus on transactional memory (TM). We have made significant contributions to the state of the art in software transactional memory (STM), and have also shown that transactional memory can be supported through a hybrid of STM and "best effort" HTM. We believe this approach can provide almost all of the benefit of alternative "unbounded" hardware transactional memory proposals, but with much simpler hardware support. Our collaboration with Sun product groups has led to support for a form of best-effort HTM in Sun's forthcoming Rock processor. An important current focus of our work is on mechanisms for exploiting this feature, both in ways that are transparent to programmers, and in integrating support for explicit transactional programming into various languages and environments. We also have strong expertise in the design and verification of scalable concurrent data structures. |