New locks for the old kernel by Alex Kogan (Oracle)


Friday, September 13, 2019, 3:00pm to 4:30pm


Maxwell-Dworkin Room 323


Locks remain the main synchronization mechanism in userspace applications as well as in OS kernels. Despite significant progress in the design and implementation of efficient locks in userspace, kernel locks fail to keep up. Part of the reason is the unique nature of the kernel environment in which such locks are deployed. For instance, the Linux kernel requires spinlocks that use just 4 bytes of memory, significantly less than many of the modern locks need. In this talk I will describe our recent efforts to modernize Linux kernel locks, focusing on two concrete ideas. The first one is called CNA [Eurosys’19], which introduces a compact lock designed for efficient synchronization on multi-node machines. We apply CNA in the kernel to enhance spinlocks, one of the kernel's most important synchronization construct.

The second idea is called BRAVO [USENIX ATC’19], which is a wrapper intended to facilitate the scalability of reader-writer locks in mostly-read workloads without inflating the memory footprint of such locks. In the kernel, BRAVO is used to enhance the rw-semaphore, a well-known contention bottleneck for data-intensive applications.

Short bio:

Alex Kogan is a member of the Distributed Systems Group in Oracle Labs (located in Burlington, MA).  His research interest are in the area of scalable syntonization, cloud computing and system aspects of machine learning.  He received his Ph.D. (2012), M.Sc. (2008) and BA (Summa Cum Laude, 2002) from the Department of Computer Science, Technion, Israel.