Read-Copy-Update (RCU) is a technique for letting multiple readers safely access a data structure while a writer concurrently modifies it. It is used heavily in the Linux kernel in situations where fast reads are important and writes are infrequent. Optimized implementations rely only on the weaker memory orderings provided by modern hardware, avoiding the need for expensive synchronization instructions (such as memory barriers) as much as possible.
Using GPS, a recently developed program logic for the C11 weak memory model, we verify an implementation of RCU for a singly-linked list assuming “release-acquire” semantics. This is, to our knowledge, the first formal proof of an RCU implementation in a weak-memory setting.
Mon 15 JunDisplayed time zone: Tijuana, Baja California change
14:00 - 15:40
|Mechanized Verification of Fine-grained Concurrent Programs|
Ilya Sergey IMDEA Software Institute, Aleksandar Nanevski IMDEA Software Institute, Anindya Banerjee IMDEA Software InstituteLink to publication Media Attached
|Verification of Producer-Consumer Synchronization in GPU Programs|
Research PapersMedia Attached
|Relaxing Safely: Verified On-the-Fly Garbage Collection for x86-TSO|
Peter Gammie NICTA, Tony Hosking Australian National University, Data61, and Purdue University, Kai Engelhardt UNSW and NICTALink to publication Media Attached
|Verifying Read-Copy-Update in a Logic for Weak Memory|
Joseph Tassarotti Carnegie Mellon University, Derek Dreyer MPI-SWS, Viktor Vafeiadis MPI-SWS, GermanyMedia Attached