Relaxed Memory Model Zoo dataset
收藏资源简介:
支持https://rmm-zoo.kissig.org的数据:硬件和编程语言的内存模型,它们之间的排序关系,每个模型的属性表,以及支持排序声明的litmus证据。
This dataset contains data from https://rmm-zoo.kissig.org, including memory models for hardware and programming languages, the ordering relationships between these models, attribute tables for each individual model, and litmus evidence that supports ordering declarations.
数据集概述
本数据集为 Relaxed Memory Model Zoo 项目提供底层数据支撑,涵盖硬件与编程语言内存模型、模型间的排序关系、各模型的属性表,以及支撑排序论断的litmus测试证据。该仓库是数据的唯一事实来源和贡献入口,网站 rmm-zoo.kissig.org 仅负责渲染展示。
数据内容
- models.json:核心数据集文件,包含模型、边(排序关系)、参考文献、属性表、单元格溯源、cat/kat可说明性,以及由Git标签填充的版本与日期信息。
- litmus.json:将litmus见证树整合为单个JSON文件(生成后提交)。
- litmus/:每个排序边对应的见证测试目录,附带运行脚本。
- litmus/kater/:机器可检查的包含关系证明文件,每个kater边对应一个查询,附运行脚本与操作手册。
核心原则
每条断言必须附带证据。排序边需记录其得知方式(来源+证据),属性单元格需标明数据出处;对于工具无法检查的断言,需明确声明,而非默认为机器已验证。make check 会尽可能机械化强制执行此规则。
数据校验机制
make check 执行以下检查:
- 每条边的端点必须是真实模型,且具备属性向量和带来源的cat支持条目。
strictly_weaker关系必须构成有向无环图。- 每条边的类型唯一。
- 边的类型与方向必须与文件夹名称对应的见证一致;每个kater边都应有对应的证明查询。
- 每个
strictly_weaker或incomparable边须有区分性行为支持。 - 若 herd7 在 PATH 中,则 litmus 测试套件本身须通过。
- 若 kater 镜像已拉取,则包含关系套件须通过。
动态测试需 herd7(版本7.58)或 Docker(用于kater包含关系检查)环境,GitHub Actions 会在每次推送和拉取请求时自动运行两套测试。
发布与引用
- Git 标签
vX.Y.Z是版本的唯一来源,构建时会将版本号和日期写入models.json和CITATION.cff。 - 数据集发布至网站源站的
/data/路径下,可通过以下地址访问:- https://rmm-zoo.kissig.org/data/models.json
- https://rmm-zoo.kissig.org/data/litmus.json
- https://rmm-zoo.kissig.org/data/CITATION.cff
不包含的内容
网站的层级布局(tierMap/tierOrder/tierLabels)属于展示层设计,存放于网站仓库,不在此数据集中。新增模型会先以回退层级渲染,直到网站侧完成布局配置。
许可与引用
数据集以 3-Clause BSD License(SPDX: BSD-3-Clause)发布。数据集中的每个模型、边和属性单元格均携带独立引用信息,复用数据时需引用其原始来源。建议引用固定的版本号+标签+提交哈希。




