arrow
Return

Automating Live Update for Generic Server Programs

delete2017-03-01
delete9
PRE
AI
C
Cristiano Giuffrida *
C
Călin Iorgulescu
G
Giordano Tamburrelli
A
Andrew S. Tanenbaum
DOI:10.1109/TSE.2016.2584066delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
The pressing demand to deploy software updates without stopping running programs has fostered much research on live update systems in the past decades. Prior solutions, however, either make strong assumptions on the nature of the update or require extensive and error-prone manual effort, factors which discourage the adoption of live update. This paper presents Mutable Checkpoint-Restart ( MCR), a new live update solution for generic ( multiprocess and multithreaded) server programs written in C. Compared to prior solutions, MCR can support arbitrary software updates and automate most of the common live update operations. The key idea is to allow the running version to safely reach a quiescent state and then allow the new version to restart as similarly to a fresh program initialization as possible, relying on existing code paths to automatically restore the old program threads and reinitialize a relevant portion of the program data structures. To transfer the remaining data structures, MCR relies on a combination of precise and conservative garbage collection techniques to trace all the global pointers and apply the required state transformations on the fly. Experimental results on popular server programs ( Apache httpd, nginx, OpenSSH and vsftpd) confirm that our techniques can effectively automate problems previously deemed difficult at the cost of negligible performance overhead ( 2 percent on average) and moderate memory overhead ( 3.9 x on average, without optimizations).
Keywords:
Live update
DSU
checkpoint-restart
quiescence detection
record-replay
garbage collection
AI Summary

AI Summary

Key information extracted from the uploaded paper, including a brief overview, abstract, background, key highlights, visual analysis, and future outlook.

Journal

IEEE Transactions on Software Engineering cover
IEEE Transactions on Software Engineering
IF:
5.6
Papers:
2.8K
Citations:
1.1W

Organization

V
Vrije Universiteit Amsterdam
Scholars:
4.2W
Papers: 3.7W
Citations: 3.7W
S
swiss federal institutes of technology domain
Scholars:
9.0W
Papers: 8.0W
Citations: 163