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