1. 程式人生 > >Spectre緩解降低了Linux 4.20的效能

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