"不可糾正的內(nèi)存錯誤是數(shù)據(jù)中心的主要故障原因之一"
本文利用今日頭條服務(wù)器集群中3個主要的雙內(nèi)聯(lián)存儲模塊( dual inline memory module,DIMM )制造商的大規(guī)?,F(xiàn)場數(shù)據(jù),對可糾正錯誤( corrected error,CE )和不可糾正錯誤( uncorrectable error,UE )進(jìn)行了實(shí)證研究。與以往的研究不同,本文的研究首次理解了CE和DIMM部件號的錯誤比特信息之間的關(guān)系。與傳統(tǒng)的芯片失效糾錯碼( Chipkill Error Correction Code,ECC )不同,在當(dāng)今的Intel服務(wù)器平臺中,ECC被削弱,無法容忍單個芯片的某些錯誤位模式。利用可獲取的粗粒度ECC知識,本文從錯誤比特信息中推導(dǎo)出一個新的指標(biāo):Risky CE。從數(shù)據(jù)中,本文表明新指標(biāo)在測試來自不同制造商的DIMM的未來UE發(fā)生時具有一致的高靈敏度和特異性。
背景
一、數(shù)據(jù)收集
研究中使用的DRAM錯誤數(shù)據(jù)來自字節(jié)跳動的一個服務(wù)器集群。在服務(wù)器農(nóng)場,大約有10萬臺服務(wù)器采用SkyLake或Cascade Lake架構(gòu),即英特爾最新的服務(wù)器架構(gòu)。包括互聯(lián)網(wǎng)服務(wù)、在線數(shù)據(jù)饋送、離線數(shù)據(jù)分析等在內(nèi)的各種工作負(fù)載混合在服務(wù)器上運(yùn)行。服務(wù)器上的DIMM來自三星、海力士和美光。
DRAM錯誤數(shù)據(jù)主要通過Linux檢錯糾錯驅(qū)動程序采集。同時獲取每個CE的微觀地址信息,即channel、rank、bank、row和column。通過引用驅(qū)動程序日志中記錄的讀取重試寄存器來提取每個CE的錯誤位信息。數(shù)據(jù)收集時間為2021年1月至8月。期間未啟用硬件保護(hù)技術(shù)(例如,部分緩存行空閑、行空閑、行空閑或片空閑)和軟件保護(hù)技術(shù)(例如,操作系統(tǒng)中的頁面裁剪)。值得注意的是,在這項研究中,特別感興趣的是過去CE歷史中未來UE發(fā)生的線索。對于具有一個UE的DIMM,本文將其誤差日志限制為其第一個UE出現(xiàn)的時間(即只保留UE之前的CE歷史)。在此期間,超過1萬個DIMM上觀測到超過800萬個CE。在574個DIMM上觀測到UE。
特別要注意的是,本文使用的數(shù)據(jù)集和先前工作中有兩點(diǎn)是比較特殊的:
1、對于每個CE,能夠知道哪些比特是錯誤的。這使得可以基于CE的錯誤比特模式進(jìn)行進(jìn)一步的分析,以更好地理解與UE的相關(guān)性。
2、對于每個DIMM,記錄其部分編號。這樣可以看到,某種分析是否可以推廣到來自制造商的不同零件編號,或者與特定零件編號相關(guān)。
表中給出了DRAM故障數(shù)據(jù)集關(guān)于不同DIMM廠商和零件編號的特征。
新的風(fēng)險指標(biāo)
一、Risky CE
與Chipkill ECC不同,當(dāng)代英特爾服務(wù)器平臺上的ECC并不能保證完全覆蓋單個芯片在訪存過程中數(shù)據(jù)位上的所有可能錯誤。雖然精確的ECC算法是高度機(jī)密的,并且從未公開過,但英特爾確實(shí)概述了一些粗粒度的錯誤位模式,這些錯誤位模式被保證是完全可糾正的。如果一個錯誤的實(shí)際錯誤位模式不能被其中任何一個完全可以糾正的模式所覆蓋,則該錯誤有小概率是不可糾正的。
如圖所示,假設(shè)將兩種完全可糾正模式具象化為圖(a)和(b)。圖(d)和圖(e)所示情況即為完全可糾正的比特錯誤模式,因?yàn)槠溴e誤的比特被完全可糾正模式完全覆蓋,但是圖(c)既不能被(a)覆蓋,也不能被(b)覆蓋,因此可以被認(rèn)為存在概率不可糾正,當(dāng)出現(xiàn)這種情況的CE時,就被認(rèn)為是Risky CE。
二、新指標(biāo)
將每個制造商的DIMM分為兩個互斥的種群,僅有CE的DIMM和同時有UE的DIMM。圖中的 ( a )、( b )和( c )分別比較了來自制造商A、B和C的兩個種群的風(fēng)險CE數(shù)的累積分布函數(shù)( CDF )。在所有3個DIMM制造商中一致的觀察是CDF在風(fēng)險CE數(shù)1處顯著偏離。對于僅含CE的DIMMs,80 %以上的風(fēng)險CE數(shù)為0。相比之下,約80 %的DIMMs同時具有UEs,則風(fēng)險CE數(shù)至少為1。這表明風(fēng)險CE的發(fā)生是兩個人群之間的一個突出的判別器。值得注意的是,風(fēng)險CE數(shù)大于1并不能提供更好的區(qū)分度,因?yàn)轱L(fēng)險CE數(shù)越大,兩個CDF的散度就越小。
考慮到CE數(shù)量作為未來UEs 的常用指標(biāo),為了進(jìn)行比較,分別在圖3 ( d )、( e )和( f )中繪制了來自制造商A、B和C的兩個種群的最大CE率(即CE歷史中過去24小時內(nèi)的最大CE數(shù))的CDF。兩個種群的CDF更接近。無論選擇哪種CE速率,它都不能從3個DIMM制造商中的任何一個中提供兩個群體之間令人滿意的區(qū)分。這表明CE率的區(qū)分度要低得多。
三、新指標(biāo)的應(yīng)用
圖中顯示了直接使用新的風(fēng)險CE指標(biāo)對3個制造商的DIMM進(jìn)行UE預(yù)測的準(zhǔn)確率和召回率。為了比較,以最常用的預(yù)測因子,CE率預(yù)測因子的不同參數(shù)作為基線。雖然傳統(tǒng)的CE率預(yù)測器可以達(dá)到與低閾值(即過去24小時內(nèi)有10次CEs)相當(dāng)?shù)恼倩芈?,但其精度明顯低于新的風(fēng)險CE預(yù)測器。值得注意的是,即使是來自C廠商的DIMMs,雖然風(fēng)險CE預(yù)測器的精度很低( 5.3 % ),但仍遠(yuǎn)高于基線( < 2 % )。
四、使UE預(yù)測更加精確
1、用于UE預(yù)測的學(xué)習(xí)決策列表
[Part_number:] Risky_CE [∧()]→UE.()
簡單的講,決策列表就是從現(xiàn)象推導(dǎo)到結(jié)果。其中,端口號和故障位置是可選的。用于將故障推廣到同一廠商的同一端口或者同一故障位置。
文章提出通過迭代識別有信心的預(yù)測規(guī)則,以精確驅(qū)動的方式學(xué)習(xí)決策列表。在每次迭代中,執(zhí)行兩個步驟。第一步是根據(jù)當(dāng)前的訓(xùn)練數(shù)據(jù)枚舉不同的規(guī)則并選擇最有信心的(即,精確)規(guī)則。第二步是從訓(xùn)練數(shù)據(jù)中移除新識別規(guī)則覆蓋的正負(fù)訓(xùn)練樣本。文章不限制迭代次數(shù)。相反,在最佳候選規(guī)則的置信度下降到預(yù)定義的閾值θ confidence之前,繼續(xù)決策列表的擴(kuò)展。通過選擇最自信的規(guī)則,關(guān)注每次迭代中的精度。通過多次迭代擴(kuò)展列表,逐步提高召回率。
Precision and Recall:
圖中顯示了新的決策列表方法在在線UE預(yù)測中的準(zhǔn)確率和召回率。在圖中,還將使用新的風(fēng)險CE指標(biāo)和性能最好的CE率預(yù)測器的UE預(yù)測結(jié)果進(jìn)行比較??梢姡Y(jié)合風(fēng)險CE指標(biāo)、微觀故障指標(biāo)和DIMM零件編號信息,3個主要廠家的DIMM UE預(yù)測精度均得到提高。這種改進(jìn)對于來自制造商B和C的DIMM來說尤為顯著。為了達(dá)到更高的精度,召回率變得相當(dāng)?shù)汀?/p>
Comparison with Other Baselines:
?
?
五、分析
1、How the Decision Lists Look Like:
圖中展示了學(xué)習(xí)到的一些典型的決策列表示例。注意,對于每個制造商的DIMM,從10次交叉驗(yàn)證中學(xué)習(xí)到10個列表。由于不同運(yùn)行中訓(xùn)練集的差異,這些列表之間存在較小的差異。這里挑選那些決策列表,它們的規(guī)則在許多其他列表中都能觀察到。針對不同廠家DIMM的決策列表也存在較大差異,說明針對不同廠家DIMM預(yù)測UE需要不同的預(yù)測機(jī)制。
2、Precision-Recall Trade-off:
在先前圖中,第三條規(guī)則比第一條規(guī)則更具一般性,即任何適用于第一條規(guī)則的數(shù)據(jù)樣本也適用于第三條規(guī)則。然而,第一條規(guī)則以較高的置信度得分。如果將θconfidence (選擇規(guī)則的置信度閾值)設(shè)置為較高的值0.5,則不會選擇第三條規(guī)則。10折交叉驗(yàn)證的準(zhǔn)確率提高了63.1 % ( vs.56.7 % ),召回率降低了32.8 %。這表明提高θ置信度限制了決策列表中選擇的規(guī)則,從而以較低的召回率換取較高的準(zhǔn)確率。
3、Vital Role of the Risky CE Indicator and the DIMM Part Number Information:
由表可知,對于制造商C的DIMM,無論是默認(rèn)的風(fēng)險CE指標(biāo),還是其與DIMM零件編號信息的簡單組合,在UE預(yù)測中的表現(xiàn)均不準(zhǔn)確。但是,在給定銀行故障指示器就位的前提下,將DIMM部件號和風(fēng)險CE指示器結(jié)合在一起提高了精度。
相比之下,去除其中的任何一個都表現(xiàn)得不夠好。(注意,在分析單個規(guī)則的性能時,使用特定DIMM制造商的所有數(shù)據(jù),而不是交叉驗(yàn)證中的測試數(shù)據(jù)。)實(shí)際上,對于制造商C的DIMM,在所有的交叉驗(yàn)證運(yùn)行中,只學(xué)習(xí)到了零件編號為C1的DIMM特有的規(guī)則。對于其他部件編號的DIMM,數(shù)據(jù)非常稀疏,即使我們已經(jīng)在10折交叉驗(yàn)證中使用了90 %的數(shù)據(jù)進(jìn)行訓(xùn)練,也無法識別出置信度高于θ confidence的可靠的UE預(yù)測規(guī)則。
表中給出了不同DIMM部件編號的預(yù)測結(jié)果,可以看出,對于部分部件編號為C1的DIMM,由于成功識別了UE易發(fā)故障,UE預(yù)測具有很高的精度( 100 %精度)。該預(yù)測覆蓋了相當(dāng)一部分( 40 %召回率)的零件編號的DIMM,但沒有覆蓋其他零件編號的DIMM。這表明識別出的UE易發(fā)故障是特定于某個DIMM部件號的。
4、Importance of Generalization across Different Part Numbers:
雖然有時DIMM零件編號信息很重要,但在某些情況下,在規(guī)則的前提下使零件編號可選,從而允許在同一制造商的不同零件編號之間進(jìn)行泛化。對于廠商B的DIMM,在10折交叉驗(yàn)證學(xué)習(xí)到的規(guī)則的前提條件中,只看到DIMM零件編號B1的存在。然后將預(yù)測結(jié)果分解為表中不同的DIMM零件編號。雖然部分編號B3、B4、B5、B7和B8不在學(xué)習(xí)到的規(guī)則的前置條件中,但是一些更通用的規(guī)則提供了不錯的性能。這表明UE易發(fā)故障可以通用于某個DIMM制造商。
編輯:黃飛
?
評論