Wait-Free Code Patching of Multi-Threaded Processes

Florian Rommel, Lennart Glauer, Christian Dietrich, Daniel Lohmann · 2019

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.

Read the paper · More papers on PaperTik