State transfer for clear and efficient runtime updates

TitleState transfer for clear and efficient runtime updates
Publication TypeConference Papers
Year of Publication2011
AuthorsHayden CM, Smith EK, Hicks MW, Foster JS
Conference Name2011 IEEE 27th International Conference on Data Engineering Workshops (ICDEW)
Date Published2011/04/11/16
ISBN Number978-1-4244-9195-7
KeywordsC++ language, C++ program, Cognition, complex tool support, dynamic software updating, efficient runtime update, in-place DSU approach, Libraries, Operating systems, program modification, Program processors, program transfer, program version, Runtime, servers, software libraries, Software maintenance, state transfer update, Steady-state, updating library, VSFTPD

Dynamic software updating (DSU), the practice of updating software while it executes, is a lively area of research. The DSU approach most prominent in both commercial and research systems is in-place updating, in which patches containing program modifications are loaded into a running process. However, in-place updating suffers from several problems: it requires complex tool support, it may adversely affect the performance of normal execution, it requires challenging reasoning to understand the behavior of an updated program, and it requires extra effort to modify program state to be compatible with an update. This paper presents preliminary work investigating the potential for state transfer updating to address these problems. State transfer updates work by launching a new process running the updated program version and transferring program state from the running process to the updated version. In this paper, we describe the use and implementation of Ekiden, a new state transfer updating library for C/C++ programs. Ekiden seeks to redress the difficulties of in-place updating, and we report on our experience updating VSFTPD using Ekiden. This initial experience suggests that state transfer provides the availability benefits of in-place DSU approaches while addressing many of their shortcomings.