From Global to Local Quiescence: Wait-Free Code Patching of Multi-Threaded Processes
Florian Rommel, Christian Dietrich, Birte Friesel, Marcel Köppen, Christoph Borchert, Michael Müller, Olaf Spinczyk, Daniel Lohmann
摘要
Live patching has become a common technique to keep long-running system services secure and up-to-date without causing downtimes during patch application. However, to safely apply a patch, existing live-update methods require the entire process to enter a state of quiescence, which can be highly disruptive for multi-threaded programs: Having to halt all threads (e.g., at a global barrier) for patching not only hampers quality of service, but can also be tremendously difficult to implement correctly without causing deadlocks or other synchronization issues. this paper, we present WfPatch, a wait-free approach to inject code changes into running multi-threaded programs. Instead of having to stop the world before applying a patch, WfPatch can gradually apply it to each thread individually at a local point of quiescence, while all other threads can make uninterrupted progress. have implemented WfPatch as a kernel service and user-space library for Linux 5.1 and evaluated it with OpenLDAP, Apache, Memcached, Samba, Node.js, and MariaDB on Debian 10 (“buster”). In total, we successfully applied 33 different binary patches into running programs while they were actively servicing requests; 15 patches had a CVE number or were other critical updates. Applying a patch with WfPatch did not lead to any noticeable increase in request latencies — even under high load — while applying the same patch after reaching global quiescence increases tail latencies by a factor of up to 41x for MariaDB.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper9
- Save the Bruised Striver: A Reliable Live Patching Framework for Protecting Real-World PLCsMing Zhou, Haining Wang, Ke Li, Hongsong Zhu 等EuroSys 2024 · 被引用 9 次
- MELF: Multivariant Executables for a Heterogeneous WorldDominik Töllner, Christian Dietrich, Illia Ostapyshyn, Florian Rommel 等USENIX ATC 2023 · 被引用 8 次
- PYLIVE: On-the-Fly Code Change for Python-based Online ServicesHaochen Huang, Chengcheng Xiang, Li Zhong, Yuanyuan ZhouUSENIX ATC 2021 · 被引用 7 次
- AutoPatch: Automated Generation of Hotpatches for Real-Time Embedded DevicesMohsen Salehi, Karthik PattabiramanCCS 2024 · 被引用 3 次
- Xkernel: Principled Performance Tunability of Operating System KernelsZhongjie Chen, Wentao Zhang, Yulong Tang, Ran Shu 等OSDI 2026 · 被引用 2 次
它引用的顶会 Paper1
相关 Paper
- The Case for DBMS Live PatchingMichael Fruth, Stefanie ScherzingerVLDB 2024 · 被引用 2 次
- Live Patching for Distributed In-Memory Key-Value StoresMichael Fruth, Stefanie ScherzingerSIGMOD 2025 · 被引用 5 次
- Luci: Loader-based Dynamic Software Updates for Off-the-shelf Shared ObjectsBernhard Heinloth, Peter Wägemann, Wolfgang Schröder-PreikschatUSENIX ATC 2023 · 被引用 1 次
- Efficient Scheduler Live Update for Linux Kernel with ModularizationTeng Ma, Shanpei Chen, Yihao Wu, Erwei Deng 等ASPLOS 2023 · 被引用 9 次
- Strengthening Supply Chain Security with Fine-grained Safe Patch IdentificationChanghua Luo, Wei Meng, Shuai WangICSE 2024 · 被引用 1 次
