首页> 外文期刊>International journal of parallel programming >Supporting Enhanced Exception Handling with OpenMP in Object-Oriented Languages
【24h】

Supporting Enhanced Exception Handling with OpenMP in Object-Oriented Languages

机译:使用面向对象语言的OpenMP支持增强的异常处理

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

摘要

The proliferation of parallel processing in shared-memory applications has encouraged developing assistant frameworks such as OpenMP. OpenMP has become increasingly prevalent due to the simplicity it offers to elegantly and incrementally introduce parallelism. However, it still lacks some high-level language features that are essential in object-oriented programming. One such mechanism is that of exception handling. In languages such as Java, the concept of exception handling has been an integral aspect to the language since the first release. For OpenMP to be truly embraced within this object-oriented community, essential object-oriented concepts such as exception handling need to be given some attention. The official OpenMP standard has little specification on error recovery, as the challenges of supporting exception-based error recovery in OpenMP extends to both the semantic specifications and related runtime support. This paper proposes a systematic mechanism for exception handling with the co-use of OpenMP directives, which is based on a Java implementation of OpenMP. The concept of exception handling with OpenMP directives has been formalized and categorized. Hand in hand with this exception handling proposal, a flexible approach to thread cancellation is also proposed (as an extension on OpenMP directives) that supports this exception handling within parallel execution. The runtime support and its implementation are discussed. The evaluation shows that while there is no prominent overhead introduced, the new approach provides a more elegant coding style which increases the parallel development efficiency and software robustness.
机译:共享内存应用程序中并行处理的激增鼓励开发辅助框架,例如OpenMP。由于OpenMP提供了优雅且渐进地引入并行性的简单性,它已变得越来越流行。但是,它仍然缺少一些在面向对象编程中必不可少的高级语言功能。这样的机制之一就是异常处理。自Java发行以来,在Java等语言中,异常处理的概念已成为该语言不可或缺的一部分。为了将OpenMP真正包含在这个面向对象的社区中,必须对一些基本的面向对象的概念(例如异常处理)给予一定的关注。官方的OpenMP标准几乎没有关于错误恢复的规范,因为在OpenMP中支持基于异常的错误恢复的挑战不仅涉及语义规范,而且还涉及相关的运行时支持。本文基于OpenMP的Java实现,提出了一种与OpenMP指令一起使用的异常处理系统机制。使用OpenMP指令进行异常处理的概念已被形式化和分类。与该异常处理建议一起,还提出了一种灵活的线程取消方法(作为OpenMP指令的扩展),该方法在并行执行中支持此异常处理。讨论了运行时支持及其实现。评估显示,虽然没有引入任何显着的开销,但是新方法提供了更优雅的编码风格,从而提高了并行开发效率和软件健壮性。

著录项

  • 来源
    《International journal of parallel programming》 |2017年第6期|1366-1389|共24页
  • 作者单位

    Department of Electrical and Computer Engineering, University of Auckland, Private Bag 92019, Auckland, New Zealand;

    Department of Electrical and Computer Engineering, University of Auckland, Private Bag 92019, Auckland, New Zealand;

    Department of Electrical and Computer Engineering, University of Auckland, Private Bag 92019, Auckland, New Zealand;

    Department of Electrical and Computer Engineering, University of Auckland, Private Bag 92019, Auckland, New Zealand;

  • 收录信息 美国《科学引文索引》(SCI);美国《工程索引》(EI);
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类
  • 关键词

    Error recovery; Exception handling; OpenMP; Parallel programming; Software robustness;

    机译:错误恢复;异常处理;OpenMP;并行编程软件健壮性;

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号