首页> 外文期刊>Computer architecture news >Butterfly Analysis: Adapting Dataflow Analysis to Dynamic Parallel Monitoring
【24h】

Butterfly Analysis: Adapting Dataflow Analysis to Dynamic Parallel Monitoring

机译:蝴蝶分析:将数据流分析应用于动态并行监控

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

摘要

Online program monitoring is an effective technique for detecting bugs and security attacks in running applications. Extending these tools to monitor parallel programs is challenging because the tools must account for inter-thread dependences and relaxed memory consistency models. Existing tools assume sequential consistency and often slow down the monitored program by orders of magnitude. In this paper, we present a novel approach that avoids these pitfalls by not relying on strong consistency models or detailed inter-thread dependence tracking. Instead, we only assume that events in the distant past on all threads have become visible; we make no assumptions on (and avoid the overheads of tracking) the relative ordering of more recent events on other threads. To overcome the potential state explosion of considering all the possible orderings among recent events, we adapt two techniques from static dataflow analysis, reaching definitions and reaching expressions, to this new domain of dynamic parallel monitoring. Significant modifications to these techniques are proposed to ensure the correctness and efficiency of our approach. We show how our adapted analysis can be used in two popular memory and security tools. We prove that our approach does not miss errors, and sacrifices precision only due to the lack of a relative ordering among recent events. Moreover, our simulation study on a collection of Splash-2 and Parsec 2.0 benchmarks running a memory-checking tool on a hardware-assisted logging platform demonstrates the potential benefits in trading off a very low false positive rate for (i) reduced overhead and (ii) the ability to run on relaxed consistency models.
机译:在线程序监视是检测运行中的应用程序中的错误和安全攻击的有效技术。扩展这些工具以监视并行程序具有挑战性,因为这些工具必须考虑线程间的依赖性和宽松的内存一致性模型。现有工具假定顺序一致,并且通常会使受监视程序的速度降低几个数量级。在本文中,我们提出了一种新颖的方法,该方法通过不依赖于强一致性模型或详细的线程间依赖性跟踪来避免这些陷阱。相反,我们仅假设所有线程上遥远的事件已经可见;我们不对其他线程上最新事件的相对顺序进行任何假设(并避免跟踪的开销)。为了克服考虑最近事件中所有可能的排序的潜在状态爆炸,我们将静态数据流分析(到达定义和表达式)中的两种技术应用于动态并行监视的这一新领域。建议对这些技术进行重大修改,以确保我们方法的正确性和有效性。我们展示了如何在两种流行的内存和安全性工具中使用经过调整的分析。我们证明了我们的方法不会遗漏错误,并且仅由于最近事件之间缺乏相对排序而牺牲了精度。此外,我们对在硬件辅助日志记录平台上运行内存检查工具的Splash-2和Parsec 2.0基准测试集合的仿真研究表明,以极低的误报率进行权衡可能具有以下好处:(i)减少了开销,并且( ii)在宽松的一致性模型上运行的能力。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号