Proceedings of the 27th ACM SIGPLAN Conference on Programming Language Design and Implementation 2006
DOI: 10.1145/1133981.1133991
|View full text |Cite
|
Sign up to set email alerts
|

Practical dynamic software updating for C

Abstract: Software updates typically require stopping and restarting an application, but many systems cannot afford to halt service, or would prefer not to. Dynamic software updating (DSU) addresses this difficulty by permitting programs to be updated while they run. DSU is appealing compared to other approaches for on-line upgrades because it is quite general and requires no redundant hardware. The challenge is in making DSU practical: it should be flexible, and yet safe, efficient, and easy to use.In this paper, we pr… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
176
0
2

Year Published

2009
2009
2020
2020

Publication Types

Select...
4
3
1

Relationship

4
4

Authors

Journals

citations
Cited by 145 publications
(178 citation statements)
references
References 29 publications
0
176
0
2
Order By: Relevance
“…Many solutions exist already for dynamically updating "standard" applications written in C, C++, and Java. For example, dynamic software updating (DSU) systems such as Ginseng [6], Upstare [7], or Jvolve [8] allow on-the-fly updates to code and in-memory data. However, because of their focus on updating code and in-memory state, dynamic updating systems are insufficient for performing online upgrades to applications that require database updates.…”
Section: Introductionmentioning
confidence: 99%
“…Many solutions exist already for dynamically updating "standard" applications written in C, C++, and Java. For example, dynamic software updating (DSU) systems such as Ginseng [6], Upstare [7], or Jvolve [8] allow on-the-fly updates to code and in-memory data. However, because of their focus on updating code and in-memory state, dynamic updating systems are insufficient for performing online upgrades to applications that require database updates.…”
Section: Introductionmentioning
confidence: 99%
“…Interestingly, the overhead must exist independently of the type of mechanism used, so it applies to general systems such as Upstare and Ginseng [2], [4] as well as systems that explictly try to avoid the overhead such as Ekiden [5].…”
Section: Effects Of Dsu On Performancementioning
confidence: 99%
“…Ginseng [4] transforms off-the-shelf C programs into C programs that can be updated on-the-fly via two main techniques: type wrapping and function indirection. Ginseng allows a wide range of updates to C programs, however, the indirection and type wrapping impose a permanent performance overhead on programs compiled with Ginseng.…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…Dynamic code-generation and runtime loading of different versions of code-sections is a technique that has been used both in the context of dynamic software updating [15] and auto-tuning [24]. ADAPT [24] is a compiler-supported infrastructure for high-level adaptive program optimization.…”
Section: Related Workmentioning
confidence: 99%