自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

谷歌、Facebook頻繁發(fā)現(xiàn)CPU內(nèi)核不可靠,出現(xiàn)無法預(yù)測計算錯誤

新聞 前端
最近谷歌和 Facebook 兩大公司頻繁檢測到 CPU 出現(xiàn)一些「不當(dāng)行為」,以至于他們正在敦促技術(shù)合作公司找到找出這些錯誤并補(bǔ)救的方法。

 CPU 一直都不是完全可靠的,自問世以來就一直存在出現(xiàn)錯誤的風(fēng)險。這些風(fēng)險不僅來源于設(shè)計上的一些疏忽,也源于環(huán)境條件和會產(chǎn)生故障的物理系統(tǒng)。但這些錯誤往往很少見,如果系統(tǒng)按預(yù)期運(yùn)行,則只有極少部分計算會出現(xiàn)錯誤。大多數(shù)情況下,計算機(jī)芯片被視為值得信賴的。

然而,最近谷歌和 Facebook 兩大公司頻繁檢測到 CPU 出現(xiàn)一些「不當(dāng)行為」,以至于他們正在敦促技術(shù)合作公司找到找出這些錯誤并補(bǔ)救的方法。

谷歌工程師 Peter Hochschild 在近日剛剛舉辦的 HotOS 2021 上說道:「生產(chǎn)團(tuán)隊抱怨『機(jī)器破壞數(shù)據(jù)』的情況越來越多?!顾硎荆骸高@些機(jī)器被指控破壞了多個不同的、穩(wěn)定的、調(diào)試良好的大型應(yīng)用程序。機(jī)器都被各個獨(dú)立團(tuán)隊反復(fù)指責(zé),并且這些指控是可信的。但傳統(tǒng)的診斷方法沒有發(fā)現(xiàn)它們有任何問題。」

谷歌、Facebook頻繁發(fā)現(xiàn)CPU內(nèi)核不可靠,出現(xiàn)無法預(yù)測計算錯誤

開發(fā)者們更深入地查看了所涉及的代碼和來自相關(guān)機(jī)器的操作遙測,谷歌工程師開始懷疑是硬件存在問題。他們調(diào)查發(fā)現(xiàn)硬件錯誤的發(fā)生率高于預(yù)期,這些問題在安裝后很長時間內(nèi)偶爾會出現(xiàn),并且出現(xiàn)在特定的單個 CPU 內(nèi)核上,而不是整個芯片或一系列部件上。

谷歌的研究人員檢查了這些靜默損壞執(zhí)行錯誤 (corrupt execution error,CEE) 后得出結(jié)論:這些錯誤應(yīng)該歸咎于「易變的內(nèi)核(mercurial core)」——CPU 在一些情況下偶爾會以一種無法預(yù)測的方式出現(xiàn)計算錯誤。

谷歌、Facebook頻繁發(fā)現(xiàn)CPU內(nèi)核不可靠,出現(xiàn)無法預(yù)測計算錯誤

這些錯誤不是因為像 M1 芯片一樣的架構(gòu)設(shè)計失誤,而且在制造測試期間也沒有檢測到這些問題。相反,谷歌工程師認(rèn)為,之所以會出現(xiàn)錯誤,是因為我們已經(jīng)將半導(dǎo)體制造推向了故障變得更加頻繁的地步,而我們?nèi)狈μ崆白R別故障的工具。

在一篇名為《Cores that don’t count》的論文中,Hochschild 及其同事列舉了計算機(jī)內(nèi)核的不可靠性現(xiàn)在才受到關(guān)注的幾個原因,包括大型服務(wù)器機(jī)群能夠讓罕見問題更加明顯、開發(fā)者們近來才更加關(guān)注整體可靠性和降低軟件錯誤率的相關(guān)改進(jìn)。

谷歌、Facebook頻繁發(fā)現(xiàn)CPU內(nèi)核不可靠,出現(xiàn)無法預(yù)測計算錯誤

論文地址:
https://sigops.org/s/conferences/hotos/2021/papers/hotos21-s01-hochschild.pdf

但該研究表示有一個更根本的原因:「越來越小的特征尺寸越來越接近 CMOS 縮放的極限,并且架構(gòu)設(shè)計的復(fù)雜性也在不斷增加。」并指出現(xiàn)有的驗證方法并不適用于發(fā)現(xiàn)偶爾出現(xiàn)的缺陷或部署后物理損壞的結(jié)果。

我們習(xí)慣于將計算機(jī)視為故障停止裝置,尤其是執(zhí)行指令的內(nèi)核,而大多數(shù)系統(tǒng)軟件都依賴于這種假設(shè)。隨著芯片制造朝著更小的特征尺寸和更精細(xì)的計算結(jié)構(gòu)發(fā)展,并且隨著引入新的復(fù)雜指令集以提高性能,我們發(fā)現(xiàn)了在制造測試期間沒有檢測到的計算錯誤。這些缺陷不能總是通過微代碼更新等技術(shù)來緩解,并且這些缺陷可能與處理器內(nèi)的特定組件有關(guān),允許小型代碼更改可能會影響可靠性。更糟糕的是,這些錯誤通常是悄無聲息的——唯一的變現(xiàn)就是出現(xiàn)計算錯誤。

這種「易變」的內(nèi)核極為罕見,但在大量服務(wù)器中,我們則可以觀察到它們造成的中斷,甚至足以將它們視為一個明顯的問題。這意味著需要硬件設(shè)計人員、處理器供應(yīng)商和系統(tǒng)軟件架構(gòu)師之間合作解決這種缺陷問題。

此外,谷歌的研究者提出了一些緩解該問題的方法,例如識別和去除「易變」內(nèi)核。

「易變」內(nèi)核的識別具有挑戰(zhàn)性,因為「易變」內(nèi)核可能導(dǎo)致故障和數(shù)據(jù)損壞、而不當(dāng)?shù)淖R別可能會導(dǎo)致良好內(nèi)核的浪費(fèi),并且識別過程的成本也很高。該研究對「易變」內(nèi)核的識別過程進(jìn)行了分類,包括:

  • 自動化與人工;
  • 部署前與部署后;
  • 線下 vs. 線上;
  • 基礎(chǔ)設(shè)施級別與應(yīng)用級別。

不過,識別和去除「易變」內(nèi)核并不總是能避免影響應(yīng)用程序,并且識別可能不是完美的。因此谷歌的研究者提議設(shè)計能夠容忍 CEE 且沒有過多開銷的軟件?這將從以下幾點(diǎn)出發(fā):

對特定于應(yīng)用的機(jī)制施加一些負(fù)擔(dān),應(yīng)用「端到端 Argument」設(shè)計思想,這種思想指出正確性通常最好是在端點(diǎn)而非較低級別的基礎(chǔ)設(shè)施中進(jìn)行檢查。

系統(tǒng)應(yīng)該支持高效的檢查點(diǎn),通過在不同的內(nèi)核上重新啟動,以將失敗的計算重新恢復(fù)。

使用面向應(yīng)用的成本高效檢測方法來決定是繼續(xù)通過檢查點(diǎn)還是重試。例如,在提交之前計算數(shù)據(jù)庫記錄的不變量以確認(rèn)機(jī)器是否損壞了數(shù)據(jù)。

Facebook 也發(fā)現(xiàn)了同樣的問題

無獨(dú)有偶,F(xiàn)acebook 也注意到了這些錯誤。今年 2 月,F(xiàn)acebook 發(fā)表了一篇名為《 Silent Data Corruptions at Scale 》的論文,論文中寫到,與之前觀察到的數(shù)據(jù)中心相比,靜默數(shù)據(jù)損壞(SDC)正在成為一種更加普遍的現(xiàn)象。SDC 不能通過中央處理單元(CPU)中的錯誤報告機(jī)制捕獲,因此無法在硬件級別上進(jìn)行跟蹤。但是,數(shù)據(jù)損壞在整個堆棧中傳播,并表現(xiàn)為應(yīng)用程序級問題。這些類型的錯誤可能導(dǎo)致數(shù)據(jù)丟失,并且可能需要數(shù)月的調(diào)試工程時間。

在本文中,研究者描述了導(dǎo)致 SDC 的硅制造過程中常見的缺陷類型。討論了一個數(shù)據(jù)中心應(yīng)用程序中靜默數(shù)據(jù)損壞的真實(shí)示例。并提供了一個調(diào)試案例,以通過案例研究來跟蹤 CPU 中的根本原因和對錯誤指令進(jìn)行分類,以舉例說明如何調(diào)試此類錯誤。研究者提供了緩解措施的高級概述,以減少大型生產(chǎn)團(tuán)隊中無提示數(shù)據(jù)損壞的風(fēng)險。

論文雖然提出了緩解策略,但沒有解決根本原因。

谷歌、Facebook頻繁發(fā)現(xiàn)CPU內(nèi)核不可靠,出現(xiàn)無法預(yù)測計算錯誤

論文地址:
https://engineering.fb.com/2021/02/23/data-infrastructure/silent-data-corruption/

圖 2 以圖形形式顯示了數(shù)據(jù)庫的損壞和鏈接。

谷歌、Facebook頻繁發(fā)現(xiàn)CPU內(nèi)核不可靠,出現(xiàn)無法預(yù)測計算錯誤

圖 3 提供了一個高級調(diào)試流程,用于追蹤導(dǎo)致根本原因的靜默錯誤。損壞也會影響非零的計算。例如,在被識別為有缺陷的機(jī)器上執(zhí)行了以下不正確的計算。研究發(fā)現(xiàn)計算會影響特定數(shù)據(jù)值的正負(fù)冪,并且在某些情況下,結(jié)果應(yīng)該為零時卻非零。以不同的精度獲得了不正確的值。

谷歌、Facebook頻繁發(fā)現(xiàn)CPU內(nèi)核不可靠,出現(xiàn)無法預(yù)測計算錯誤

錯誤示例

谷歌、Facebook頻繁發(fā)現(xiàn)CPU內(nèi)核不可靠,出現(xiàn)無法預(yù)測計算錯誤

在谷歌的研究人員看來,F(xiàn)acebook 發(fā)現(xiàn)了靜默錯誤,但是找出錯誤原因并解決它,還需要進(jìn)一步的工作。

不正常的內(nèi)核帶來的風(fēng)險不僅包括崩潰(現(xiàn)有的錯誤處理故障停止模型可以適應(yīng)這種情況),還涉及錯誤計算和數(shù)據(jù)丟失,這些問題可能被忽視,帶來風(fēng)險。

Hochschild 講述了一個例子,「我們的一個 mercurial cores 破壞了加密,只有它才能解密自己錯誤加密的內(nèi)容。」谷歌的研究人員以「商業(yè)原因」拒絕透露其數(shù)據(jù)中心檢測到的 CEE 率,但他們提供了一個大致的數(shù)字,即大約是每幾千臺機(jī)器有幾個 mercurial cores,與 Facebook 報告的比率類似。

理想情況下,谷歌希望看到自動識別 mercurial cores 的方法,并建議在芯片的整個生產(chǎn)周期中進(jìn)行 CPU 測試,而不是僅僅依賴于部署前的老化測試。目前,谷歌依賴于人工驅(qū)動的內(nèi)核完整性審查,但這種方式并不是特別準(zhǔn)確,識別可疑內(nèi)核的工具和技術(shù)仍在進(jìn)行中。

谷歌的研究人員解釋說,「根據(jù)我們最近的經(jīng)驗,通過人工驅(qū)動審查發(fā)現(xiàn)的可疑性錯誤,大約有一半是被證實(shí)的,我們必須通過進(jìn)一步的測試 (通常是在首先開發(fā)一種新的自動測試之后) 來提取『證據(jù)』」。另一半是虛假指控和有限的可復(fù)現(xiàn)性。

責(zé)任編輯:張燕妮 來源: 機(jī)器之心Pro
相關(guān)推薦

2010-06-12 15:30:57

UDP協(xié)議

2014-01-07 09:47:05

云計算

2013-11-04 10:17:29

計算錯誤科技科研

2023-07-07 11:44:22

云計算云策略

2023-03-24 09:42:31

云計算企業(yè)錯誤

2020-08-18 07:00:00

云計算混合云數(shù)據(jù)

2010-04-16 17:16:34

2015-03-20 09:45:17

IP協(xié)議

2023-04-03 11:27:54

2023-06-15 14:13:00

量子計算

2025-01-09 10:48:36

2012-03-12 14:17:10

2021-07-27 12:27:21

工業(yè)物聯(lián)網(wǎng)IIOT物聯(lián)網(wǎng)

2011-11-29 09:48:43

2021-09-07 09:40:39

漏洞網(wǎng)絡(luò)安全代碼

2009-05-14 08:39:33

英特爾歐盟反壟斷

2022-09-03 23:52:27

云計算漏洞安全

2023-04-28 17:39:01

2022-11-16 14:33:45

工業(yè)物聯(lián)網(wǎng)物聯(lián)網(wǎng)安全

2023-02-23 13:25:45

量子谷歌
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號