Delegation for Efficient Multi-Threading
In this NSF-funded project, we study delegation as an alternative to synchronized access to shared memory. As the number of cores in typical microprocessors continues to grow, the cost of synchronized access to shared memory is becoming a significant bottleneck in many programs.
Delegation offers an alternative approach, with very desirable scalability properties. Recently, we were showed that delegation is not only scalable, but the constant costs involved are much smaller than previously cost. In short, delegation is (much) faster than you thought, which is also the title of our paper in ACM SOSP 2017. Since then, we we have achieved substantial further speedups, demonstrating that delegation can be faster than even fine-grained locking with an unlimited number of locks.
This is an ongoing project with many interesting directions for future study, including deterministic execution, programming models, distributed computing, and more.