首页> 外文学位 >Heuristics for efficient dynamic verification of message passing interface and thread programs.
【24h】

Heuristics for efficient dynamic verification of message passing interface and thread programs.

机译:用于消息传递接口和线程程序的有效动态验证的启发式方法。

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

摘要

Concurrent programs are extremely important for efficiently programming future HPC systems. Large scientific programs may employ multiple processes or threads to run on HPC systems for days. Reliability is an essential requirement of existing concurrent programs. Therefore, verification of concurrent programs becomes increasingly important. Today we have two significant challenges in developing concurrent program verification tools: The first is scalability. Since new types of concurrent programs keep being created, verification tools need to scale to handle all these new types of programs. The second is providing formal coverage guarantee. Dynamic verification tools always face a huge schedule space. Both these capabilities must exist for testing programs that follow multiple concurrency models.;Most current dynamic verification tools can only explore either thread level or process level schedules. Consequently, they fail to verify hybrid programs. Exploring mixed process and thread level schedules is not an ideal solution because the state space will grow exponentially in both levels. It is hard to systematically traverse these mixed schedules. Therefore, our approach is to determinize all concurrent APIs except one API whose schedules will then be explored.;To improve search efficiency, we proposed a random-walk based heuristic algorithm. We observed many concurrent programs and concluded some common structures of them. Based on the existence of these structures, we can make dynamic verification tools focusing on specific regions and bypassing regions of less interest. We propose a random sampling of executions in the regions of less interest
机译:并行程序对于有效地编程未来的HPC系统非常重要。大型科学程序可能会使用多个进程或线程在HPC系统上运行数天。可靠性是现有并发程序的基本要求。因此,并发程序的验证变得越来越重要。今天,我们在开发并发程序验证工具时面临两个重大挑战:首先是可伸缩性。由于不断创建新类型的并发程序,因此验证工具需要扩展以处理所有这些新类型的程序。二是提供正规的保障范围。动态验证工具始终面临巨大的计划空间。这两种功能对于测试遵循多个并发模型的程序都必须存在。大多数当前的动态验证工具只能浏览线程级别或进程级别的计划。因此,他们无法验证混合程序。探索混合的进程和线程级别计划不是一个理想的解决方案,因为状态空间在两个级别上都将成倍增长。很难系统地遍历这些混杂的时间表。因此,我们的方法是确定除一个API之外的所有并发API,这些API将随后探索其时间表。为了提高搜索效率,我们提出了一种基于随机游动的启发式算法。我们观察了许多并发程序,并总结了它们的一些通用结构。基于这些结构的存在,我们可以制作针对特定区域并绕​​过不那么感兴趣的区域的动态验证工具。我们建议在不那么感兴趣的区域对执行情况进行随机抽样

著录项

  • 作者

    Chiang, Wei-Fan.;

  • 作者单位

    The University of Utah.;

  • 授予单位 The University of Utah.;
  • 学科 Computer Science.
  • 学位 M.S.
  • 年度 2011
  • 页码 61 p.
  • 总页数 61
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类
  • 关键词

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号