...
【24h】

Safe and Timely Dynamic Updates for Multi-threaded Programs

机译:多线程程序的安全及时的动态更新

获取原文
获取原文并翻译 | 示例
           

摘要

Many dynamic updating systems have been developed that enable a program to be patched while it runs, to fix bugs or add new features. This paper explores techniques for supporting dynamic updates to multi-threaded programs, focusing on the problem of applying an update in a timely fashion while still producing correct behavior. Past work has shown that this tension of safety versus timeliness can be balanced for single-threaded programs. For multi-threaded programs, the task is more difficult because myriad thread interactions complicate understanding the possible program states to which a patch could be applied. Our approach allows the programmer to specify a few program points ( e. g., one per thread) at which a patch may be applied, which simplifies reasoning about safety. To improve timeliness, a combination of static analysis and run-time support automatically expands these few points to many more that produce behavior equivalent to the originals. Experiments with thirteen realistic updates to three multi-threaded servers show that we can safely perform a dynamic update within milliseconds when more straightforward alternatives would delay some updates indefinitely.
机译:已经开发了许多动态更新系统,可以使程序在运行时进行修补,修复错误或添加新功能。本文探讨了支持对多线程程序进行动态更新的技术,着重解决了在仍然产生正确行为的情况下及时应用更新的问题。过去的工作表明,对于单线程程序,这种安全性与及时性之间的张力可以得到平衡。对于多线程程序,此任务更加困难,因为无数线程交互使对可能应用补丁的程序状态的理解变得复杂。我们的方法允许程序员指定可以在其上应用补丁的几个程序点(例如,每个线程一个),这简化了关于安全性的推理。为了提高及时性,静态分析和运行时支持的组合会自动将这些点扩展到更多点,从而产生与原始结果相同的行为。对三个多线程服务器进行13个实际更新的实验表明,当更简单的选择无限期地延迟某些更新时,我们可以在毫秒内安全地执行动态更新。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号