CCICheck: Using μhb graphs to verify the coherence-consistency interface

CCICheck: Using μhb graphs to verify the coherence-consistency interface
复制标题

CCICheck:使用 μhb 图验证相干一致性接口

DOI:
10.1145/2830772.2830782
复制
发表时间:
2015
期刊:
2015 48th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO)
影响因子:
--
通讯作者:
M. Martonosi
M. Martonosi
中科院分区:
--
文献类型:
--
作者:
Yatin A. Manerkar;Daniel Lustig;Michael Pellauer;M. Martonosi

文献摘要

参考文献

被引文献

相似文献

在并行系统中,内存一致性模型和缓存连贯协议确定了规则,尽管它们的重要性核心,但对于并行程序的每个指令都可以看到哪些值。并难以全面地涵盖其操作,而连贯性和一致性通常是在建筑中独立验证的级别,许多系统以微观架构级别的方式与一致性验证的方式紧密地交织和一致性列举和检查微建筑事件的家族 - (μHB)图,描述了特定相干协议如何结合使用特定的处理器的管道和内存层次结构来强制执行给定的一致性模型的要求。验证,包括需求提取,缓存线无效,漏洞的连贯协议窗口以及我们实施的部分不连贯的缓存层次结构CCICHECK作为一种自动化工具,并证明了其在许多案例研究中的使用。
In parallel systems, memory consistency models and cache coherence protocols establish the rules specifying which values will be visible to each instruction of parallel programs. Despite their central importance, verifying their correctness has remained a major challenge, due both to informal or incomplete specifications and to difficulties in scaling verification to cover their operations comprehensively. While coherence and consistency are often specified and verified independently at an architectural level, many systems implement performance enhancements that tightly interweave coherence and consistency at a micro architectural level in ways that make verification of consistency difficult. This paper introduces CCICheck, a tool and technique supporting static verification of the coherence-consistency interface (CCI). CCICheck enumerates and checks families of micro architectural happens-before (μhb) graphs that describe how a particular coherence protocol combines with a particular processor's pipelines and memory hierarchy to enforce the requirements of a given consistency model. To support tractable CCI verification, CCICheck introduces the ViCL (Value in Cache Lifetime), an abstraction which allows the μhb graphs to cleanly represent CCI events relevant to consistency verification, including demand fetching, cache line invalidation, coherence protocol windows of vulnerability, and partially incoherent cache hierarchies. We implement CCICheck as an automated tool and demonstrate its use on a number of case studies. We also show its tractability across a wide range of litmus tests.
了解 POWER 多处理器
DOI: 10.1145/1993316.1993520
发表时间: 2011
影响因子: --
作者:
Sarkar S
通讯作者: Sarkar S