Abstract
In the operation and maintenance phase of a deployed software component, security and bug-fix updates are regular events. However, for many high-availability services, costly restarts are no acceptable option as the induced downtimes lead to a degradation of the service quality. One solution to this problem are live updates, where we inject the desired software patches directly into the volatile memory of a currently running process. However, before the actual patch gets applied, most live-update methods use a stop-the-world approach to bring the process into a safe state; an operation that is highly disruptive for the execution of multi-threaded programs. In this paper, we present a wait-free approach to inject code changes into a running multi-threaded process. We avoid the disruption of a global barrier synchronization over all threads by first preparing a patched clone of the process’s address space. Into the updated address space, we gradually migrate individual threads at predefined quiescence points while all other threads make uninterrupted progress. In a first case study with a simple network service, we could completely eliminate the impact of applying a live update on the request latency.
| Originalsprache | Englisch |
|---|---|
| Titel des Sammelwerks | PLOS'19 |
| Untertitel | Proceedings of the 10th Workshop on Programming Languages and Operating Systems |
| Erscheinungsort | New York |
| Herausgeber (Verlag) | Association for Computing Machinery, Inc |
| Seiten | 23-29 |
| Seitenumfang | 7 |
| ISBN (elektronisch) | 9781450370172 |
| DOIs | |
| Publikationsstatus | Veröffentlicht - 27 Okt. 2019 |
| Veranstaltung | 10th Workshop on Programming Languages and Operating Systems, PLOS 2019: in coIn njunction with the 27th ACM Symposium on Operating Systems Principles, SOSP 2019 - Huntsville, Kanada Dauer: 27 Okt. 2019 → 27 Okt. 2019 |
Konferenz
| Konferenz | 10th Workshop on Programming Languages and Operating Systems, PLOS 2019 |
|---|---|
| Land/Gebiet | Kanada |
| Ort | Huntsville |
| Zeitraum | 27 Okt. 2019 → 27 Okt. 2019 |
ASJC Scopus Sachgebiete
- Software
Dieses zitieren
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver