【问题标题】:Spectre performance hit disappeared after April 2018 Update?2018 年 4 月更新后 Spectre 的性能损失消失了吗?
【发布时间】:2018-04-17 06:33:05
【问题描述】:

几个月来,我们一直在跟踪 Windows 上的 Meltdown 和 Spectre 缓解措施的性能问题。几天前,我们发现了一些奇怪的结果。在我们的 Windows 10 FCU 机器上应用 2018 年 4 月累积更新 (KB4093112) 后,突然间,我们迄今为止观察到的性能影响消失了,并且在未应用缓解措施时,我们运行的所有基准测试都恢复到相同水平。

例如,下面是 CrystalMark 2004R3 报告的 GDI 性能数据(我们运行了多个基准测试以及我们自己的应用程序基准测试,所有这些都导致性能数据回到了 Meltdown/Spectre 之前的水平)

Win10 FCU Vanilla (no Meltdown/Spectre mitigations    ~14000
Win10 FCU + KB4056892 (Jan 2018 Cum Update)            ~5400
Win10 FCU + KB4074588 (Feb 2018 Cum Update)            ~5400
Win10 FCU + KB4088776 (Mar 2018 Cum Update)            ~5400
Win10 FCU + KB4093112 (Apr 2018 Cum Update)           ~14000 (<- back to Vanilla level)

机器是配备 Xeon E52690 v4 x 2(共 28 个内核)的 HP Z840。 BIOS 已使用来自https://support.hp.com/us-en/document/c05869091 的 SP85295 更新的 v2.41 进行更新。

使用https://www.grc.com/inspectre.htm,我检查了启用 Meltdown/Spectre 的标志是否到位。

有人知道这种行为的原因吗?我怀疑缓解措施是否会突然恢复到未应用缓解措施时的水平。 Microsoft 是否有可能在 2018 年 4 月累积更新中意外禁用缓解措施?

【问题讨论】:

    标签: windows performance security windows-10 spectre


    【解决方案1】:

    【讨论】:

    • 感谢您的信息。根据我的经验,Spectre2 缓解措施主要影响涉及系统调用的场景(GDI 是其中之一,其他是磁盘访问、内存分配,也许还有网络)。这是因为他们需要放置类似屏障的语义,以避免在用户模式下学习到的分支目标影响内核模式下的分支预测行为。这就是 Matlab 工作负载不受影响的原因,因为它们是计算密集型的。参考:zdnet.com/article/…
    • 来自链接的引用:zdnet.com/article/… 第三个功能(IBRS)更复杂。它旨在在您进入更具特权的执行模式(即内核)时设置。它可以防止在最近设置之前以较低权限的执行模式学习的分支目标生效。但它不仅仅是一个“设置后忘记”功能,它还具有类似屏障的语义,需要在 每个 进入内核时(从用户空间或 VM 来宾)进行设置。它昂贵。
    猜你喜欢
    • 1970-01-01
    • 2020-05-30
    • 1970-01-01
    • 1970-01-01
    • 2018-12-03
    • 2021-07-10
    • 1970-01-01
    • 1970-01-01
    • 2023-04-09
    相关资源
    最近更新 更多