Sanidhya Kashyap
École Polytechnique Fédérale de Lausanne (EPFL)
Application-Defined Concurrency
Kernel synchronization primitives are of paramount importance to achieving good performance and scalability for applications. However, they are usually invisible and out of the reach of application developers. Instead, kernel developers and synchronization experts make all the decisions regarding kernel lock design.In this talk, I will propose a paradigm, called application-defined concurrency (ADC), that enables applications to tune concurrency control in the kernel. ADC allows developers to change the behavior and parameters of kernel locks, to switch between different lock implementations and to dynamically profile one or multiple locks for a specific scenario of interest. This approach opens up a plethora of opportunities to fine-tune concurrency control mechanisms on the fly.