paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Extending Intel-x86 consistency and persistency: formalising the semantics of Intel-x86 memory types and non-temporal stores

扩展 Intel-x86 一致性与持久性:形式化 Intel-x86 内存类型与非临时存储的语义
POPL 6(POPL)2022匹配度 2/10 · 该论文研究 Intel-x86 内存一致性/持久性的形式语义,属于并发与内存模型方向,与用户关注的 PL→AI(ML/Agentic 程序静态分析)、AI→PL(LLM 改进静态分析/形式化验证)、浮点程序分析及贝叶斯程序分析等核心方向没有直接交集。虽然包含形式化建模与等价性证明,可能对程序分析底层语义有间接参考价值,但并非用户当前追踪的问题。引用 23 inbox
Azalea Raad, Luc Maranget, Viktor Vafeiadis
crossref: 2026-09-10

AI 速览

一句话:将 Intel-x86 一致性/持久性语义扩展到非临时写、不可缓存、写合并和写穿内存类型,并证明操作式与声明式模型等价。

现有 Intel-x86 语义形式化只覆盖多线程一致性及与非易失内存交互的持久性语义相关特性的一小部分。本文扩展这些形式化,纳入非临时写(提供更高性能并用于确保更新刷回内存)、对不可缓存、写合并和写穿等其他 Intel-x86 内存类型的读写,以及这些特性之间的交互。作者以操作式和声明式两种风格建立形式模型,并证明两种刻画等价。最后,通过对不同 Intel-x86 实现开展大量测试,对所扩展的一致性语义及其微妙交互进行经验验证。

问题
现有 Intel-x86 一致性/持久性形式化未覆盖非临时写,以及非临时写与其他内存类型之间的交互。
方法
以操作式和声明式两种风格扩展现有 Intel-x86 语义模型,并证明这两种形式化刻画等价。
评估
在不同 Intel-x86 实现上进行大量经验测试,验证新增特性及其交互的一致性语义。
原文摘要(Abstract)

Existing semantic formalisations of the Intel-x86 architecture cover only a small fragment of its available features that are relevant for the consistency semantics of multi-threaded programs as well as the persistency semantics of programs interfacing with non-volatile memory. We extend these formalisations to cover: (1) non-temporal writes, which provide higher performance and are used to ensure that updates are flushed to memory; (2) reads and writes to other Intel-x86 memory types, namely uncacheable, write-combined, and write-through; as well as (3) the interaction between these features. We develop our formal model in both operational and declarative styles, and prove that the two characterisations are equivalent. We have empirically validated our formalisation of the consistency semantics of these additional features and their subtle interactions by extensive testing on different Intel-x86 implementations.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@article{paperbot1593,
  title = {Extending Intel-x86 consistency and persistency: formalising the semantics of Intel-x86 memory types and non-temporal stores},
  author = {Azalea Raad and Luc Maranget and Viktor Vafeiadis},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {6},
  number = {POPL},
  year = {2022},
  doi = {10.1145/3498683}
}