现代硬件性能计数器实现中的非确定性与过度计数
摘要
一篇研究论文,探讨现代硬件性能计数器实现中的非确定性与事件过度计数问题,分析为何性能测量结果可能在不同运行和平台之间无法复现。
<p>摘要:理想的硬件性能计数器应提供精确的确定性结果。现实中的性能监控单元(PMU)实现并不总能达到这一理想。那些本应精确且确定的事件(如已退休指令数)在 x86_64 机器上即使在严格受控的环境中运行,仍会表现出运行间的差异和过度计数现象。这些效应对普通用户来说是反直觉的,并且在需要严格确定性的场景中会造成困难,例如在实现确定性重放或确定性线程库时。</p>
<p>我们研究了十一款不同的 x86_64 CPU 实现,发现了与预期计数总量产生偏差的原因。在所有研究的计数器事件中,我们发现只有少数几个具有足够的确定性,可以在确定性执行环境中无需调整即可使用。在这些机器上,`iret` 中断返回指令尽管在内核空间执行,却被计为一条用户空间指令,这导致计数无法保持确定性。我们发现的确定性事件是那些不计入 `iret` 的事件,例如条件分支和已退休存储操作。</p>
<p>我们还简要研究了 ARM、IA64、POWER 和 SPARC 系统,发现这些平台上计数器事件具有更高的确定性。我们探索了多种方法来规避 x86_64 事件的局限性,但在许多情况下这是不可能的,需要对底层 PMU 进行架构级重新设计。</p>
<p><a href="https://lobste.rs/s/pswl6z/non_determinism_overcount_on_modern">评论</a></p>
查看缓存全文
缓存时间: 2026/11/01 09:34
提供的内容是损坏的 PDF 二进制数据,无法读取为可翻译的文本。请提供该 PDF 中文章的纯文本内容,我会将其翻译成简体中文。
相似文章
性能优化基准是否可靠地衡量编码代理?
本文审计了针对编码代理的三个性能优化基准(GSO、SWE-Perf、SWE-efficiency),发现运行时不稳定、评分规则和任务覆盖率显著影响可靠性,并且许多任务已经至少有一个公开提交解决了。
低成本的确定性虚拟机管理程序
作者讨论了构建确定性虚拟机管理程序的过程,解释了由于并发性和硬件问题导致实现确定性的挑战,同时批评了网络安全和虚拟化领域的现有实现。
@jerryjliu0: 我从博客/系统卡中观察到一件有趣的事情:在相当一部分报告的基准测试中(大约20-30%……
观察到与xhigh相比,Claude Opus 5的max thinking在大约20-30%的基准测试中导致性能下降,这与增加测试时计算量可提升性能的预期相反。
非确定性并不重要
一篇引人思考的博客文章,主张大语言模型输出的非确定性并非软件开发的致命缺陷,因为只有最终结果需要精确,而达成结果的路径不必如此。作者提倡利用 AI 构建经过测试的确定性工具,供智能体调用,从而利用当下的随机性来减少未来系统中的随机性。
论计算机使用智能体的可靠性
一篇预印本论文,分析为何计算机使用智能体首次成功却在重复执行时失败,将不可靠性归因于执行随机性、任务模糊性和行为变异性,并倡导重复评估与稳定策略。