首页> 外文会议>IEEE International Symposium on High Performance Computer Architecture >Runtime Validation of Memory Ordering Using Constraint Graph Checking
【24h】

Runtime Validation of Memory Ordering Using Constraint Graph Checking

机译:使用约束图检查内存排序的运行时验证

获取原文

摘要

An important correctness issue for emerging multi/many-core shared memory systems is to ensure that the inter-processor communication through shared memory conforms to the memory ordering rules, as specified by the architecture's memory consistency model [1]. This presents a significant validation challenge. Growing system complexity makes it increasingly hard to identify all deep-state logic bugs in pre-silicon verification. Further, aggressive technology scaling makes hardware more vulnerable to dynamic errors that can only be detected at runtime. In this paper, we propose an approach for runtime validation of memory ordering. This allows us to survive bugs that escape pre-silicon verification, as well as deal with emerging dynamic errors. Our solution consists of two parts: 1) at the microarchitecture level, we add efficient hardware support to capture the observed ordering among shared-memory operations; 2) we perform online verification of the observed memory ordering by checking for cycles in the constraint graph [11, 12]. We combine these to achieve end-to-end correctness validation of the system execution with respect to the memory ordering specification. There are several challenges that need to be addressed to make this approach practical. We describe these, as well as optimization techniques for reducing the hardware overhead. Estimates obtained from preliminary chip multiprocessor simulation experiments show that the proposed techniques are very effective in achieving acceptable hardware overhead and minimal performance impact.
机译:新出现的多/多核共享内存系统的一个重要的正确性问题是确保通过共享内存的处理器间通信符合Memory Ordering规则,如架构的内存一致性模型[1]所指定。这提出了一个重要的验证挑战。增长的系统复杂性使得在硅预验证中越来越难以识别所有深度逻辑错误。此外,激进的技术缩放使硬件更容易受到只能在运行时检测到的动态错误。在本文中,我们提出了一种用于运行时间验证内存排序的方法。这使我们能够生存在逃避硅错误验证的错误,以及处理新出现的动态错误。我们的解决方案由两部分组成:1)在微架构级别,我们添加了高效的硬件支持,以捕获共享内存操作之间观察的订购; 2)我们通过检查约束图[11,12]中的周期来执行观察到的内存排序的在线验证。我们将这些用于实现关于内存排序规范的系统执行的端到端正确验证。有几种挑战需要解决,以使这种方法实用。我们描述了这些,以及用于减少硬件开销的优化技术。从初步芯片多处理器仿真实验获得的估计表明,该技术在实现可接受的硬件开销和最小性能影响方面非常有效。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号