Publisher DOI: 10.1145/3365137.3365404
Title: Wait-Free Code Patching of Multi-Threaded Processes
Language: English
Authors: Rommel, Florian 
Glauer, Lennart 
Dietrich, Christian  
Lohmann, Daniel 
Issue Date: Oct-2019
Publisher: ACM
Source: Workshop on Programming Languages and Operating Systems (PLOS 2019)
Abstract (english): 
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.
Conference: 10th Workshop on Programming Languages and Operating Systems (PLOS 2019) 
Document Type: Chapter/Article (Proceedings)
Appears in Collections:Publications without fulltext

Show full item record

Page view(s)

Last Week
Last month
checked on Apr 21, 2021

Google ScholarTM


Add Files to Item

Note about this record

Cite this record


Items in TORE are protected by copyright, with all rights reserved, unless otherwise indicated.