【24h】

RCDC: A Relaxed Consistency Deterministic Computer

机译:RCDC:轻松一致的确定性计算机

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

摘要

Providing deterministic execution significantly simplifies the debugging, testing, replication, and deployment of multithreaded programs. Recent work has developed deterministic multiprocessor architectures as well as compiler and runtime systems that enforce determinism in current hardware. Such work has incidentally imposed strong memory-ordering properties. Historically, memory ordering has been relaxed in favor of higher performance in shared memory multiprocessors and, interestingly, determinism exacerbates the cost of strong memory ordering. Consequently, we argue that relaxed memory ordering is vital to achieving faster deterministic execution. This paper introduces RCDC, a deterministic multiprocessor architecture that takes advantage of relaxed memory orderings to provide high-performance deterministic execution with low hardware complexity. RCDC has two key innovations: a hybrid HW/SW approach to enforcing determinism; and a new deterministic execution strategy that leverages data-race-free-based memory models (e.g., the models for Java and C++) to improve performance and scalability without sacrificing determinism, even in the presence of races. In our hybrid HW/SW approach, the only hardware mechanisms required are software-controlled store buffering and support for precise instruction counting; we do not require speculation. A runtime system uses these mechanisms to enforce determinism for arbitrary programs. We evaluate RCDC using PARSEC benchmarks and show that relaxing memory ordering leads to performance and scalability close to nondeterministic execution without requiring any form of speculation. We also compare our new execution strategy to one based on TSO (total-store-ordering) and show that some applications benefit significantly from the extra relaxation. We also evaluate a software-onlyimplementation of our new deterministic execution strategy.
机译:提供确定性的执行,大大简化了多线程程序的调试,测试,复制和部署。最近的工作开发了确定性的多处理器体系结构以及在当前硬件中强制执行确定性的编译器和运行时系统。此类工作附带强加了强大的内存排序属性。从历史上看,为了支持共享内存多处理器中的更高性能,已经放宽了内存排序,有趣的是,确定性加剧了强大的内存排序的成本。因此,我们认为放松的内存顺序对于实现更快的确定性执行至关重要。本文介绍了RCDC,它是一种确定性多处理器体系结构,它利用宽松的内存顺序来提供高性能的确定性执行,并且硬件复杂度较低。 RCDC有两项关键创新:实施确定性的硬件/软件混合方法;以及一种新的确定性执行策略,该策略利用了基于无数据争用的内存模型(例如Java和C ++的模型)来提高性能和可伸缩性,即使在存在种族的情况下也不会牺牲确定性。在我们的混合硬件/软件方法中,唯一需要的硬件机制是软件控制的存储缓冲以及对精确指令计数的支持。我们不需要猜测。运行时系统使用这些机制对任意程序强制执行确定性。我们使用PARSEC基准对RCDC进行了评估,结果表明,放宽内存顺序可以使性能和可伸缩性接近于不确定性执行,而无需任何形式的推测。我们还将新的执行策略与基于TSO(总存储排序)的执行策略进行了比较,并表明某些应用程序从额外的放松中受益匪浅。我们还评估了新的确定性执行策略的仅软件实现。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号