首页> 外文学位 >Anomaly-Based Debugging of Correctness and Performance Issues in Multithreaded Programs
【24h】

Anomaly-Based Debugging of Correctness and Performance Issues in Multithreaded Programs

机译:多线程程序中基于异常的正确性和性能问题的调试

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

摘要

Multithreaded programming is complex and error-prone. Multithreading makes it difficult to debug correctness and performance issues in parallel and concurrent software. This thesis ad- dresses two major challenges related to debugging multithreaded programs. First, concurrency bugs are hard to reproduce because of nondeterministic thread interleaving across program executions. Second, performance issues of multithread programs are difficult to explain due to complex interactions of events and resource sharing. This thesis addresses these challenges by introducing anomaly-based debugging for parallel software. It presents theory, design and implementation of three frameworks: ACT, SyncPerf and AutoPerf..;ACT overcomes the difficulty of existing correctness bug detection techniques in reproducing concurrency bug and adhering to diversity of bug characteristics. It uses hardware assisted machine learning for debugging correctness of multithreaded programs. It continuously learns and verifies programs during production runs to detect correctness bugs. SyncPerf investigates and categorizes performance bugs resulting from inefficient synchronization techniques. Using a lightweight tool it identifies synchronization related performance bugs in real world programs and provides hint for possible fix strategy. AutoPerf implements a testing framework for debugging performance bugs in multithreaded programs. AutoPerf implements a neural network based solution for detecting performance regression in multithreaded program. An anomaly detection approach using hardware performance counter is used to explain performance regression. It provides an efficient way of detecting root cause eliminating the need of domain expertise and exhausted searching present in existing solutions.
机译:多线程编程很复杂且容易出错。多线程使得很难在并行和并发软件中调试正确性和性能问题。本文解决了与调试多线程程序有关的两个主要挑战。首先,并发错误很难重现,因为跨程序执行的线程不确定。其次,由于事件和资源共享之间的复杂交互,很难解释多线程程序的性能问题。本文通过为并行软件引入基于异常的调试来解决这些挑战。它介绍了三个框架的理论,设计和实现:ACT,SyncPerf和AutoPerf ..; ACT克服了现有的正确性错误检测技术在再现并发错误和坚持错误特征多样性方面的困难。它使用硬件辅助机器学习来调试多线程程序的正确性。它在生产运行过程中不断学习和验证程序,以检测正确性错误。 SyncPerf对由于效率低下的同步技术而导致的性能错误进行了调查和分类。使用轻量级的工具,它可以识别实际程序中与同步相关的性能错误,并为可能的修复策略提供提示。 AutoPerf实现了一个测试框架,用于调试多线程程序中的性能错误。 AutoPerf实现了基于神经网络的解决方案,用于检测多线程程序中的性能下降。使用硬件性能计数器的异常检测方法用于解释性能下降。它提供了一种检测根本原因的有效方法,从而消除了对领域专业知识的需求,并消除了现有解决方案中存在的穷举搜索。

著录项

  • 作者

    Alam, Mohammad Mejbah ul.;

  • 作者单位

    The University of Texas at San Antonio.;

  • 授予单位 The University of Texas at San Antonio.;
  • 学科 Computer science.
  • 学位 Ph.D.
  • 年度 2017
  • 页码 114 p.
  • 总页数 114
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类
  • 关键词

  • 入库时间 2022-08-17 11:54:28

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号