FlexGuard: Fast Mutual Exclusion Independent of Subscription
Performance-oriented applications require efficient locks to harness the computing power of multicore architectures. While fast, spinlock algorithms suffer severe performance degradation when thread counts exceed available hardware capacity, i.e., in oversubscribed scenarios. Existing solutions rely on imprecise heuristics for blocking, leading to suboptimal performance. We present FlexGuard, the first approach that systematically switches from busy-waiting to blocking precisely when a lock-holding thread is preempted. Flex-Guard achieves this by communicating with the OS scheduler via eBPF, unlike prior approaches. FlexGuard matches or improves performance in LevelDB, a memory-optimized database index, PARSEC's Dedup, and SPLASH2X's Raytrace and Streamcluster, boosting throughput by 1–6× in non-oversubscribed and up to 5× in oversubscribed scenarios.
Authors
- Jean-Pierre Lozi (ORCID: https://orcid.org/0009-0002-2876-8292)
- Sanidhya Kashyap (ORCID: https://orcid.org/0000-0002-9534-8565)
- Victor Laforet
- Julia Lawall
- Călin Iorgulescu
Institutions
- Institut national de recherche en sciences et technologies du numérique (FR)
- The Mount (GB)
- École Polytechnique Fédérale de Lausanne (CH)
Publication Details
- Published
- 2025-10-01
- DOI
- https://doi.org/10.1145/3731569.3764852
- Primary Topic
- Parallel Computing and Optimization Techniques
- Type
- article
- Field-Weighted Citation Impact
- 0.00
Funders
- National Science Foundation
- Agence Nationale de la Recherche
- Schweizerischer Nationalfonds zur Förderung der Wissenschaftlichen Forschung
- Centre National de la Recherche Scientifique