一句话:提出 Peacenik 架构支持,在 fail-stop 内存一致性下避免失败,消除其大部分性能开销。
现代共享内存系统对未良好同步的程序会出现错误的未定义行为。fail-stop 内存一致性可为所有程序提供良定义行为,但可能引入意外失败,损害性能或进展。本文提出 Peacenik 架构支持,在 fail-stop 内存一致性语境中避免这些失败。作者将 Peacenik 的通用机制应用于两种提供 fail-stop 一致性的现有架构,并通过基于模拟的评估表明,Peacenik 几乎消除了基线架构因 fail-stop 行为产生的高开销,说明可在不承担大部分或全部代价的情况下获得 fail-stop 一致性的收益。
Modern shared-memory systems have erroneous, undefined behavior for programs that are not well synchronized. A promising solution is to provide fail-stop memory consistency, which ensures well-defined behavior for all programs. While fail-stop consistency avoids undefined behavior, it can lead to unexpected failures, imperiling performance or progress. This paper presents architecture support called Peacenik that avoids failures in the context of fail-stop memory consistency. We demonstrate Peacenik by applying Peacenik's general mechanisms to two existing architectures that provide fail-stop consistency. A simulation-based evaluation shows that Peacenik eliminates nearly all of the high costs of fail-stop behavior incurred by the baseline architectures, demonstrating how to get the benefits of fail-stop consistency without incurring most or all of its costs.