Write a Blog >>
PPoPP 2022
Sat 2 - Wed 6 April 2022
Wed 6 Apr 2022 10:50 - 11:05 - Session 7 Chair(s): Vitaly Aksenov

This paper presents a new and practical approach to lock-free locks based on helping, which allows the user to write code using fine-grained locks, but run it in a lock-free manner. Although lock-free locks have been suggested in the past, they are widely viewed as impractical, have some key limitations, and, as far as we know, have never been implemented. The paper presents some key techniques that make lock-free locks practical and more general. The most important technique is an approach to idempotence—i.e. making code that runs multiple times appear as if it ran once. The idea is based on using a shared log among processes running the same protected code. Importantly, the approach can be library based, requiring very little if any change to standard code—code just needs to use the idempotent versions of memory operations (load, store, LL/SC, allocation, free).

We have implemented a C++ library called Flock based on the ideas. Flock allows lock-based data structures to run in either lock-free or blocking (traditional locks) mode. We implemented a variety of tree and list-based data structures with Flock and compare the performance of the lock-free and blocking modes under a variety of workloads. The lock-free mode is almost as fast as blocking mode under almost all workloads, and significantly faster when threads are oversubscribed (more threads than processors). We also compare with several existing lock-based and lock-free alternatives.

Wed 6 Apr

Displayed time zone: Eastern Time (US & Canada) change

10:20 - 11:20
Session 7Main Conference
Chair(s): Vitaly Aksenov Inria & ITMO University
10:20
15m
Talk
Deadlock-Free Asynchronous Message Reordering in Rust with Multiparty Session Types
Main Conference
Zak Cutner Imperial College London, Nobuko Yoshida Imperial College London, Martin Vassor Imperial College London
10:35
15m
Talk
Detectable Recovery of Lock-Free Data Structures
Main Conference
Hagit Attiya Technion, Ohad Ben-Baruch Ben-Gurion University of the Negev, Panagiota Fatourou FORTH ICS and University of Crete, Greece, Danny Hendler BGU, Eleftherios Kosmas Department of Computer Science, University of Crete, Greece
10:50
15m
Talk
Lock-Free Locks Revisited
Main Conference
Naama Ben-David VMware, Guy E. Blelloch Carnegie Mellon University, USA, Yuanhao Wei Carnegie Mellon University, USA
11:05
15m
Talk
Asymmetry-aware Scalable Locking
Main Conference
Nian Liu Shanghai Jiao Tong University, Jinyu Gu Shanghai Jiao Tong University, Dahai Tang Hunan university, Kenli Li National Supercomputing Center in Changsha, Hunan University, Binyu Zang Shanghai Jiao Tong University, Haibo Chen Shanghai Jiao Tong University