Scalable Synchronization

The Scalable Synchronization Research Group (SSRG) is focused on principles and techniques for developing concurrent programs that are scalable, efficient, and correct.

We refer to scalability broadly, applying our expertise to a wide range of performance problems across various environments, from user and OS kernel code running on large multi-sockets machines with shared memory to distributed applications running on multiple computing nodes in the cloud. Our methods include novel (read-write, NUMA-aware, energy-efficient) lock implementations, efficient concurrent data structures, scalable memory allocation and management, etc. The results of our research have been published in premier conferences as well as got integrated into numerous Oracle products.

In addition, we are interested in exploring and understanding the fundamental ramifications of various hardware features (such as hardware transactional memory (HTM), non-volatile memory (NVM), remote direct memory access (RDMA) support, etc.) on the properties of synchronization algorithms and concurrent data structures. We also have strong expertise in the specification and verification of concurrent algorithms, which is important because the kinds of synchronization algorithms we use to improve the system performance are often intricate and subtle.

Hardware and Software, Engineered to Work Together