A study of dynamic software update quiescence for multithreaded programs

Christopher M. Hayden, Karla Saur, M. Hicks, J. Foster
{"title":"A study of dynamic software update quiescence for multithreaded programs","authors":"Christopher M. Hayden, Karla Saur, M. Hicks, J. Foster","doi":"10.1109/HOTSWUP.2012.6226617","DOIUrl":null,"url":null,"abstract":"Dynamic software updating (DSU) techniques show great promise in allowing vital software services to be upgraded without downtime, avoiding dropped connections and the loss of critical program state. For multithreaded programs, DSU systems must balance correctness and timeliness. To simplify reasoning that an update is correct, we could limit updates to take place only when all threads have blocked at well-defined update points. However, several researchers have pointed out that this approach poses the risk of delaying an update for too long, even indefinitely, and therefore have developed fairly complicated mechanisms to mitigate the risk. This paper argues that such mechanisms are unnecessary by demonstrating empirically that many multithreaded programs can be updated with minimal delay using only a small number of manually annotated update points. Our study of the time taken for all of the threads in six real-world, event-driven programs to reach their update points ranged from 0.155 to 107.558 ms, and most were below 1 ms.","PeriodicalId":103862,"journal":{"name":"2012 4th International Workshop on Hot Topics in Software Upgrades (HotSWUp)","volume":"5 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2012-06-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"26","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2012 4th International Workshop on Hot Topics in Software Upgrades (HotSWUp)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/HOTSWUP.2012.6226617","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 26

Abstract

Dynamic software updating (DSU) techniques show great promise in allowing vital software services to be upgraded without downtime, avoiding dropped connections and the loss of critical program state. For multithreaded programs, DSU systems must balance correctness and timeliness. To simplify reasoning that an update is correct, we could limit updates to take place only when all threads have blocked at well-defined update points. However, several researchers have pointed out that this approach poses the risk of delaying an update for too long, even indefinitely, and therefore have developed fairly complicated mechanisms to mitigate the risk. This paper argues that such mechanisms are unnecessary by demonstrating empirically that many multithreaded programs can be updated with minimal delay using only a small number of manually annotated update points. Our study of the time taken for all of the threads in six real-world, event-driven programs to reach their update points ranged from 0.155 to 107.558 ms, and most were below 1 ms.
多线程程序的动态软件更新静态研究
动态软件更新(DSU)技术在允许重要软件服务在不停机的情况下进行升级,避免丢失连接和关键程序状态方面显示出巨大的前景。对于多线程程序,DSU系统必须平衡正确性和及时性。为了简化更新是否正确的推理,我们可以将更新限制为只有当所有线程都在定义良好的更新点阻塞时才发生更新。然而,一些研究人员指出,这种方法有可能导致更新时间过长,甚至无限期推迟,因此他们开发了相当复杂的机制来降低风险。本文论证了这种机制是不必要的,通过经验证明,许多多线程程序可以使用少量手动注释的更新点以最小的延迟进行更新。我们研究了六个真实世界的事件驱动程序中所有线程达到更新点所需的时间,范围从0.155到107.558毫秒,大多数都低于1毫秒。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信