Spectre缓解降低了Linux 4.20的性能

英特尔对Specter Variant 2芯片缺陷(CVE- 2017-5715)的一个修复似乎已经对最新Linux内核的性能造成了很大影响。

有问题的缓解是单线程间接分支预测器(STIBP),这是英特尔在1月份公布Meltdown和Spectre漏洞细节后不久提出的三个预测因子之一。

在Linux 4.20中正式实施,Phoronix运行的基准测试表明,使用英特尔专有的超线程技术(主要是Core i3s和Core i7及更高版本)运行英特尔芯片需要付出沉重的代价。

我自己是一名从事了5年大数据挖掘、分析开发的工程师,我花了一个月整理了一份最适合小白学习的大数据干货,包括数据采集。数据存储和管理。数据处理和分析。数据隐私和安全。云安全,云技术,人工智能等资料都有整理,送给每一位大数据小伙伴,这里是大数据学习者聚集地,欢迎初学和进阶中的小伙伴。

加QQ群:943973734(招募中)

根据应用程序的不同,在顶级Core i9上可能会有30%到50%的任何影响,这显然是不可接受的打击 - 这还不包括之前对Spectre和Meltdown的缓解造成的较小损失。

当这些缺陷在1月份公布时,性能下降总是存在,但是大家普遍认为,对于大多数用户而言,这可能会在几个百分点左右。

从那时起不到一年,运行4.20(和4.19.2,显然支持STIBP)的任何人都将面临更糟糕的情况。

因此,如果Linus Torvalds没有看一看数据,并提出一个激进的建议——禁用英特尔的STIBP缓解措施——那么这个问题可能会在不幸的情况下反弹。

Linus Torvalds用他改良过的不骂人的风格写道:

当某些负载的性能下降了50%时,人们需要开始问自己这样做是否值得。显然,完全禁用SMT更好,这正是安全意识强的人所做的。

SMT——同步多线程——是英特尔所谓超线程的技术术语。

有趣的是,Intel最近对超线程失去了兴趣,超线程早在2002年就被引入了,作为一种神奇的方法,可以将一个执行一个线程的内核变成两个运行两个线程的虚拟内核。

直到现在,我们才清楚,这为侧通道攻击提供了一个理论上的机会,在这种攻击中,一个线程可以监视运行在相同物理内核上的另一个线程的内容,这一点在最近的PortSmash超级线程漏洞中得到了强调。

这给用户带来了什么?

对于Linux,如果Torvalds有他自己的方式,那么在这种情况下,它将选择性能而不是安全性,并让用户在需要时启用幽灵缓解功能。当然,他说的并不完全是这样:

我认为我们应该使用与L1TF相同的逻辑:我们默认使用不会破坏性能的东西。警告一次,让那些疯狂的人说:“我宁愿损失50%的性能,也不愿为一个理论问题操心”。

对于Windows 10,微软认为它已经用谷歌最初的Retpoline补丁控制了Specter Variant 2。

Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx

猜你喜欢

转载自blog.csdn.net/qq_40196321/article/details/84561072