性能建模结果报告与可复现性
更新时间:2026-10-01。前面 49 篇解决“怎么建模仿真”,这篇收官:一次模拟结论,别人能不能在半年后复现并相信。
本文要回答的问题
- 一份性能结论要附哪些信息才算完整?
- 什么信息缺失会让结果根本无法复现?
- 报告数字时怎么表达不确定性?
一、可复现的最小信息集
- 工具链:gem5/SystemC/QEMU 等版本、commit、自研补丁。
- 配置:完整微结构参数(结构容量、宽度、缓存/内存时序),最好是直接可用的配置文件而非节选。
- 工作负载:程序版本、编译选项、输入数据集、trace 生成方式。
- 运行条件:随机种子、warm-up 长度、采样区间、DVFS/电压频率点。
- 环境:主机/编译器版本(影响功能模型/构建)。
二、结果如何表达

不只给一个数:报告均值、离散度/置信区间(见 统计置信度)、相对明确基线的变化;区分“相对趋势可信”和“绝对数值精确”,避免过度外推。
三、配置即代码与归档
配置、脚本、命令纳入版本管理(配置即代码),自动化跑实验、采数据、出图,避免手工误差;关键产物(日志、checkpoint、结果表)按实验归档,便于回溯与评审。
四、常见坑
- 只贴几个参数,配置不全无法复现。
- 不记录工具版本/补丁,升级后结果对不上。
- 单次运行下绝对结论,不给不确定性。
- 手工改配置/采数,过程不可追溯。
- 把特定负载的结论泛化到所有场景。
五、评审清单(可直接套用)
工具版本 ✓ · 完整配置 ✓ · 负载与输入 ✓ · 种子/预热/采样 ✓ · 多次运行与区间 ✓ · 明确基线 ✓ · 结论适用范围 ✓ · 产物可获取 ✓。
小结
可复现 = 版本 + 完整配置 + 负载输入 + 种子区间齐全,结果要带不确定性并明确适用范围,配置即代码是长期可信的基础。至此 cpu-model 50 篇收官。
总结
性能结论经得起复核的最小信息集是:工具版本与补丁、完整可用的配置文件、负载版本/编译选项/输入、随机种子与预热采样区间、主机环境;结果表必须给均值、方差/置信区间和相对明确基线的变化,区分相对趋势与绝对数值,靠“配置即代码+自动化实验+产物归档”保证长期可追溯。