首页> 外文期刊>International journal of parallel programming >VORD: A Versatile On-the-fly Race Detection Tool in OpenMP Programs
【24h】

VORD: A Versatile On-the-fly Race Detection Tool in OpenMP Programs

机译:VORD:OpenMP程序中的多功能实时竞赛检测工具

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

摘要

Shared-memory based parallel programming with OpenMP and Posix-thread APIs becomes more common to fully take advantage of multiprocessor computing environments. One of the critical risks in multithreaded programming is data races that are hard to debug and greatly damaging to parallel applications if they are uncaught. Although ample effort has been made in building specialized data race detection techniques, the state of art tools such as the Intel Thread Checker still have various functionality and performance problems. In this paper, we present a Versatile On-the-fly Race Detection (VORD) tool that provides an agile, efficient, and scalable race detection environment for various parallel programming models. VORD can automatically construct an empirically optimal set of race engines by utilizing classification and adaptation mechanisms. A Race-Detection Classification (RDC) table is created to categorize adequate engines in the aspect of labeling, detecting, and filtering. An Engine Code Property Selector (ECPS) uses the RDC table to adapt optimal engines for the given target programming models. In addition to RDC and ECPS, we have also implemented an OpenMP parser and a source instrumentor. The functionality and efficiency of VORD were compared with those of the Intel Thread Checker by using a set of OpenMP based kernel programs. The experimental results show that VORD can detect data races in more challenging programming models such as nested thread and synchronization models, and can achieve a couple of orders of a magnitude faster processing time than the Intel Thread Checker in the large parallel programs.
机译:为了充分利用多处理器计算环境,使用OpenMP和Posix线程API的基于共享内存的并行编程变得更加普遍。多线程编程中的主要风险之一是难以进行调试的数据争用,并且如果不及时捕获,将严重损害并行应用程序。尽管在构建专用的数据竞争检测技术方面已付出了巨大的努力,但是诸如Intel Thread Checker之类的最新工具仍然存在各种功能和性能问题。在本文中,我们提出了一种多功能的实时竞赛检测(VORD)工具,该工具为各种并行编程模型提供了灵活,高效且可扩展的竞赛检测环境。 VORD可以利用分类和适应机制自动构建一组经验最佳的赛车引擎。创建种族检测分类(RDC)表以在标记,检测和过滤方面对适当的引擎进行分类。引擎代码属性选择器(ECPS)使用RDC表为给定的目标编程模型调整最佳引擎。除了RDC和ECPS,我们还实现了OpenMP解析器和源工具。通过使用一组基于OpenMP的内核程序,将VORD的功能和效率与Intel Thread Checker的功能和效率进行了比较。实验结果表明,VORD可以在更具挑战性的编程模型(例如嵌套线程和同步模型)中检测数据竞争,并且在大型并行程序中的处理时间比Intel Thread Checker快几个数量级。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号