Dynamic Software Updating Using a Relaxed Consistency Model

Dynamic Software Updating Using a Relaxed Consistency Model
复制标题

DOI:
10.1109/tse.2010.79
复制
发表时间:
2011-09
影响因子:
7.4
通讯作者:
Haibo Chen;Jie Yu;Chen Hang;B. Zang;P. Yew
Haibo Chen;Jie Yu;Chen Hang;B. Zang;P. Yew
中科院分区:
计算机科学1区
文献类型:
--
作者:
Haibo Chen;Jie Yu;Chen Hang;B. Zang;P. Yew

文献摘要

被引文献

相似文献

软件不可避免地会受到变化的影响。有补丁和升级可以关闭漏洞,修复错误,并为软件提供新功能。不幸的是,大多数传统的动态软件更新方法都有一定程度的局限性;当涉及数据结构更改时,它们中很少有能够更新多线程应用程序,而其中一些会失去二进制兼容性或导致不可忽略的性能开销。本文介绍了POLUS,这是一种软件维护工具,能够迭代地将运行的未修改的多线程软件演变为较新的版本,并且具有非常低的性能开销。POLUS的主要思想是一个宽松的一致性模型,它允许新旧代码的并发活动。POLUS借鉴了计算机体系结构中cache-coherence协议的思想,采用“双向透写”同步协议来保证系统的一致性。为了演示POLUS的适用性,我们报告使用POLUS动态更新三个流行服务器应用程序的经验:vsftpd、sshd和Apache HTTP服务器。性能测量表明,POLUS在这三个应用程序上产生的运行时开销可以忽略不计——性能下降不到1%(但有一种情况下降了5%)。应用更新的时间也很短。
Software is inevitably subject to changes. There are patches and upgrades that close vulnerabilities, fix bugs, and evolve software with new features. Unfortunately, most traditional dynamic software updating approaches suffer some level of limitations; few of them can update multithreaded applications when involving data structure changes, while some of them lose binary compatibility or incur nonnegligible performance overhead. This paper presents POLUS, a software maintenance tool capable of iteratively evolving running unmodified multithreaded software into newer versions, yet with very low performance overhead. The main idea in POLUS is a relaxed consistency model that permits the concurrent activity of the old and new code. POLUS borrows the idea of cache-coherence protocol in computer architecture and uses a ”bidirectional write-through” synchronization protocol to ensure system consistency. To demonstrate the applicability of POLUS, we report our experience in using POLUS to dynamically update three prevalent server applications: vsftpd, sshd, and Apache HTTP server. Performance measurements show that POLUS incurs negligible runtime overhead on the three applications-a less than 1 percent performance degradation (but 5 percent for one case). The time to apply an update is also minimal.