共用数据导向的分布式系统失效恢复缺陷检测
作者:
作者单位:

作者简介:

通讯作者:

窦文生,E-mail:wsdou@otcaix.iscas.ac.cn

中图分类号:

TP311

基金项目:

国家自然科学基金(62072444,61732019);中国科学院前沿科学重点研究项目(QYZDJ-SSW-JSC036);中国科学院青年创新促进会(2018142)


Common Data Guided Crash Recovery Bug Detection for Distributed Systems
Author:
Affiliation:

Fund Project:

  • 摘要
  • |
  • 图/表
  • |
  • 访问统计
  • |
  • 参考文献
  • |
  • 相似文献
  • |
  • 引证文献
  • |
  • 资源附件
  • |
  • 文章评论
    摘要:

    分布式系统的可靠性和可用性至关重要.然而,不正确的失效恢复机制及其实现会引发失效恢复缺陷,威胁分布式系统的可靠性和可用性.只有发生在特定时机的节点失效才会触发失效恢复缺陷,因此,检测分布式系统中的失效恢复缺陷具有挑战性.本文提出了一种新方法Deminer来自动检测分布式系统中的失效恢复缺陷.我们观察到,同一份数据(即共用数据)可能被一组I/O写操作存储到不同位置(如不同的存储路径或节点).而打断这样一组共用数据写操作执行的节点失效更容易触发失效恢复缺陷.因此,Deminer以共用数据的使用为指导,通过自动识别和注入这类容易引发故障的节点失效来检测失效恢复缺陷.首先,Deminer追踪目标系统的一次正确执行中关键数据的使用.然后,Deminer基于执行轨迹识别使用共用数据的I/O写操作对,并预测容易引发错误的节点失效注入点.最后,Deminer通过测试预测的节点失效注入点以及检查故障征兆来暴露和确认失效恢复缺陷.我们实现了Deminer原型工具,并在4个流行的开源分布式系统ZooKeeper、HBase、YARN和HDFS的最新版本上进行了验证.实验结果表明Deminer方法能够有效检测分布式系统中的失效恢复缺陷.Deminer已经检测到6个失效恢复缺陷.

    Abstract:

    The reliability and availability of distributed systems is of critical importance.However,this is threatened by crash recovery bugs,which lie in incorrect crash recovery mechanisms and their implementations.Detection of crash recovery bugs can be extremely challenging since these bugs only manifest when a node crashes under special timing conditions.This paper presents a novel approach Deminer to automatically detect crash recovery bugs in distributed systems.We observe that,node crashes that interrupt the execution of related I/O write operations,which store a piece of data (i.e.,common data) to different places,e.g.,different storage paths or nodes,are more likely to trigger crash recovery bugs.Therefore,Deminer detects crash recovery bugs by automatically identifying and injecting such error-prone crash points via common data analysis.Deminer first tracks the usage of critical data in a correct run,and then identifies I/O write operations that use the common data and predicts error-prone crash points based on the execution trace.Finally,Deminer tests the predicted crash points and checks failure symptoms to expose and confirm crash recovery bugs.We have implemented a prototype of Deminer and evaluated it on the latest versions of four widely-used distributed systems:ZooKeeper,HBase,YARN and HDFS.The experimental results show that Deminer is effective in finding crash recovery bugs.Deminer has detected 6 crash recovery bugs.

    参考文献
    相似文献
    引证文献
引用本文

高钰,王栋,戴千旺,窦文生,魏峻.共用数据导向的分布式系统失效恢复缺陷检测.软件学报,,():0

复制
分享
文章指标
  • 点击次数:
  • 下载次数:
  • HTML阅读次数:
  • 引用次数:
历史
  • 收稿日期:2022-01-07
  • 最后修改日期:2022-04-21
  • 录用日期:
  • 在线发布日期: 2022-10-26
  • 出版日期:
您是第位访问者
版权所有:中国科学院软件研究所 京ICP备05046678号-3
地址:北京市海淀区中关村南四街4号,邮政编码:100190
电话:010-62562563 传真:010-62562533 Email:jos@iscas.ac.cn
技术支持:北京勤云科技发展有限公司

京公网安备 11040202500063号