Application-Informed Kernel Synchronization Primitives
Sujin Park, Diyu Zhou, Yuchen Qian, Irina Calciu, Taesoo Kim, Sanidhya Kashyap
摘要
Kernel synchronization primitives are the backbone of any OS design. Kernel locks, for instance, are crucial for both application performance and correctness. However, unlike application locks, kernel locks are far from the reach of application developers, who have minimal interpolation of the kernel's behavior and cannot control or influence the policies that govern kernel synchronization behavior. This disconnect between the kernel and applications can lead to pathological scenarios in which optimizing the kernel synchronization primitives under one context, such as high contention, leads to adversarial effects under a context with no lock contention. In addition, rapid-evolving heterogeneous hardware makes kernel lock development too slow for modern applications with stringent performance requirements and frequent deployment timelines.
This paper addresses the above issues with applicationinformed kernel synchronization primitives. We allow application developers to deploy workload-specific and hardwareaware kernel lock policies to boost application performance, resolve pathological usage of kernel locks, and even enable dynamic profiling of locks of interest. To showcase this idea, we design SynCord, a framework to modify kernel locks without recompiling or rebooting the kernel. SynCord abstracts key behaviors of kernel locks and exposes them as APIs for designing user-defined kernel locks. SynCord provides the mechanisms to customize kernel locks safely and correctly from the user space. We design five lock policies specialized for new heterogeneous hardware and specific software requirements. Our evaluation shows that SynCord incurs minimal runtime overhead and generates kernel locks with performance comparable to that of the state-of-the-art locks.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper15
- Electrode: Accelerating Distributed Protocols with eBPFYang Zhou, Zezhou Wang, Sowmya Dharanipragada, Minlan YuNSDI 2023 · 被引用 78 次
- DINT: Fast In-Kernel Distributed Transactions with eBPFYang Zhou, Xingyu Xiang, Matthew Kiley, Sowmya Dharanipragada 等NSDI 2024 · 被引用 40 次
- eTran: Extensible Kernel Transport with eBPFZhongjie Chen, Qingkai Meng, ChonLam Lao, Yifan Liu 等NSDI 2025 · 被引用 17 次
- PageFlex: Flexible and Efficient User-space Delegation of Linux Paging Policies with eBPFAnil Yelam, Kan Wu, Zhiyuan Guo, Suli Yang 等USENIX ATC 2025 · 被引用 15 次
- NetEdit: An Orchestration Platform for eBPF Network Functions at ScaleTheophilus A. Benson, Prashanth Kannan, Prankur Gupta, Balasubramanian Madhavan 等SIGCOMM 2024 · 被引用 11 次
它引用的顶会 Paper4
- ghOSt: Fast & Flexible User-Space Delegation of Linux SchedulingJack Tigar Humphries, Neel Natu, Ashwin Chaugule, Ofir Weisse 等SOSP 2021 · 被引用 60 次
- Syrup: User-Defined Scheduling Across the StackKostis Kaffes, Jack Tigar Humphries, David Mazières, Christos KozyrakisSOSP 2021 · 被引用 35 次
- Avoiding scheduler subversion using scheduler-cooperative locksYuvraj Patel, Leon Yang, Leo Prasath Arulraj, Andrea C. Arpaci-Dusseau 等EuroSys 2020 · 被引用 6 次
- CLoF: A Compositional Lock Framework for Multi-level NUMA SystemsRafael Lourenco de Lima Chehab, Antonio Paolillo, Diogo Behrens, Ming Fu 等SOSP 2021 · 被引用 6 次
相关 Paper
- Ship your Critical Section, Not Your Data: Enabling Transparent Delegation with TCLOCKSVishal Gupta, Kumar Kartikeya Dwivedi, Yugesh Kothari, Yueyang Pan 等OSDI 2023 · 被引用 6 次
- DLOS: Effective Static Detection of Deadlocks in OS KernelsJia-Ju Bai, Tuo Li, Shi-Min HuUSENIX ATC 2022 · 被引用 10 次
- Locks as a Resource: Fairly Scheduling Lock Occupation with CFLJonggyu Park, Young Ik EomPPoPP 2024
- Efficient and Scalable Synchronization via Generalized Cache CoherenceYanpeng Yu, Seung-seob Lee, Lin Zhong, Anurag KhandelwalOSDI 2026
- SHARD: Fine-Grained Kernel Specialization with Context-Aware HardeningMuhammad Abubakar, Adil Ahmad, Pedro Fonseca, Dongyan XuUSENIX Security 2021 · 被引用 47 次
