首页> 外文学位 >Dynamic data race detection and healing.
【24h】

Dynamic data race detection and healing.

机译:动态数据竞赛检测和修复。

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

摘要

Perpetual availability is an important operational goal in today's computer systems. However, achieving this goal is challenging because modern software systems contain faults that can cause them to fail. For example, multi-threading is widely used in modern software to fully utilize the computing capability of multicore processors. However, employing multi-threading can lead to concurrency faults such as deadlock and data race that are notoriously difficult to isolate, detect, and repair. Data races, which involves two concurrent accesses to the same data where at least one is a write, are the most common concurrency faults.;As our first step, we investigate the main sources of race detection overhead and find that a large effort is spent on repeatedly monitoring operations that cannot cause data races or have already been identified as causes of races. Based on these observations, we propose two orthogonal optimizations for race detection: Stationary Object Suppression (SOS) and Loop Iteration Sampling (LIS).;SOS employs a dynamic program analysis technique to filter out Stationary Objects; which are read-only objects that can be shared by multiple threads. As such, they can never participate in data races. By eliminating monitoring operations on Stationary Objects, SOS can detect up to six times more races within an overhead budget than Pacer, a state-of-the-art sampling based race detector.;Although SOS can greatly reduce the number of objects to monitor for race detection, it repeatedly monitors identified sources of races. A further investigation shows that loops in a program substantially contribute to occurrence of such repetitive data races. We propose a sampling based race detector, LIS, which adjusts sampling rate for data access operations within loops to be inversely proportional to number of iterations.;To achieve perpetual availability, the next step is to address these software faults as they are detected during deployment. We propose a race healing system that can automatically generate and apply repairs during program execution. The system applies a fix immediately after a race is detected to prevent the race from occurring again.
机译:永续可用性是当今计算机系统的重要操作目标。但是,实现此目标具有挑战性,因为现代软件系统包含可能导致其故障的故障。例如,多线程在现代软件中被广泛使用,以充分利用多核处理器的计算能力。但是,采用多线程可能会导致并发错误,例如死锁和数据争用,这是众所周知很难隔离,检测和修复的。数据争用是最常见的并发错误,它涉及两次并发访问同一数据,其中至少一次是写操作,这是最常见的并发错误。反复监视不会导致数据争用或已被确定为争用原因的操作。基于这些观察,我们提出了两个用于种族检测的正交优化:固定对象抑制(SOS)和循环迭代采样(LIS)。; SOS采用动态程序分析技术来过滤出固定对象。这是可以由多个线程共享的只读对象。因此,他们永远无法参加数据竞赛。通过消除对固定物体的监视操作,SOS可以在开销预算内检测到比基于采样的最新种族检测器Pacer最多多六倍的种族;尽管SOS可以大大减少要监视的物体数量种族检测,它反复监视已识别的种族来源。进一步的研究表明,程序中的循环实质上会导致此类重复数据争用的发生。我们提出了一种基于采样的竞争检测器LIS,它可以将循环内数据访问操作的采样率调整为与迭代次数成反比。;要实现永久可用性,下一步是解决在部署过程中检测到的这些软件故障。我们提出了一种竞赛修复系统,可以在程序执行过程中自动生成并进行修复。系统在检测到比赛后立即应用修复程序,以防止再次发生比赛。

著录项

  • 作者

    Li, Du.;

  • 作者单位

    The University of Nebraska - Lincoln.;

  • 授予单位 The University of Nebraska - Lincoln.;
  • 学科 Engineering Computer.;Engineering General.;Computer Science.
  • 学位 Ph.D.
  • 年度 2012
  • 页码 146 p.
  • 总页数 146
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类
  • 关键词

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号