首页> 外文期刊>Software >Formal methods applied to high-performance computing software design: a case study of MPI one-sided communication-based locking
【24h】

Formal methods applied to high-performance computing software design: a case study of MPI one-sided communication-based locking

机译:应用于高性能计算软件设计的正式方法:基于MPI单边通信的锁定的案例研究

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

摘要

There is a growing need to address the complexity of verifying the numerous concurrent protocols employed in the high-performance computing software. Today's approaches for verification consist of testing detailed implementations of these protocols. Unfortunately, this approach can seldom show the absence of bugs, and often results in serious bugs escaping into the deployed software. An approach called Model Checking has been demonstrated to be eminently helpful in debugging these protocols early in the software life cycle by offering the ability to represent and exhaustively analyze simplified formal protocol models. The effectiveness of model checking has yet to be adequately demonstrated in high-performance computing. This paper presents a case study of a concurrent protocol that was thought to be sufficiently well tested, but proved to contain two very non-obvious deadlocks in them. These bugs were automatically detected through model checking. The protocol models in which these bugs were detected were also easy to create. Recent work in our group demonstrates that even this tedium of model creation can be eliminated by employing dynamic source-code-level analysis methods. Our case study comes from the important domain of Message Passing Interface (MPI)-based programming, which is universally employed for simulating and predicting anything from the structural integrity of combustion chambers to the path of hurricanes. We argue that model checking must be taught as well as used widely within HPC, given this and similar success stories.
机译:越来越需要解决验证高性能计算软件中采用的众多并发协议的复杂性。当今的验证方法包括测试这些协议的详细实现。不幸的是,这种方法很少显示出没有错误,并且经常导致严重的错误逃逸到已部署的软件中。事实证明,一种称为“模型检查”的方法通过提供表示和详尽分析简化的正式协议模型的能力,可以在软件生命周期的早期阶段调试这些协议,从而非常有用。模型检查的有效性尚未在高性能计算中得到充分证明。本文介绍了一个并发协议的案例研究,该案例被认为已经过充分测试,但是事实证明其中包含两个非常明显的死锁。这些错误是通过模型检查自动检测到的。检测到这些错误的协议模型也很容易创建。我们小组的最新工作表明,即使采用动态源代码级分析方法,也可以消除这种繁琐的模型创建工作。我们的案例研究来自基于消息传递接口(MPI)的编程的重要领域,该领域普遍用于模拟和预测从燃烧室的结构完整性到飓风路径的任何事物。我们认为,鉴于这种情况和类似的成功案例,必须在HPC中教授并广泛使用模型检查。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号