The 54th Annual IEEE/IFIP International Conference on Dependable Systems and Networks(DSN)國(guó)際可靠系統(tǒng)與網(wǎng)絡(luò)學(xué)術(shù)年會(huì)是關(guān)于可靠性系統(tǒng)和網(wǎng)絡(luò)安全國(guó)際頂尖的學(xué)術(shù)會(huì)議之一,關(guān)注可靠性系統(tǒng)和安全領(lǐng)域最新的問(wèn)題、挑戰(zhàn)和研究成果。DSN 2024在澳大利亞布里斯班舉辦。華為云可用性工程Lab與柏林工業(yè)大學(xué)、2012可靠性實(shí)驗(yàn)室、慕尼黑研究所聯(lián)合發(fā)表基于跨CPU的內(nèi)存故障預(yù)測(cè)技術(shù)。相關(guān)的技術(shù)已在華為云的生產(chǎn)環(huán)境落地。

摘要:
大規(guī)模數(shù)據(jù)中心經(jīng)常面臨內(nèi)存故障問(wèn)題,其中不可糾正錯(cuò)誤(UEs)表明了雙列直插內(nèi)存模塊(DIMMs)中的關(guān)鍵性故障?,F(xiàn)有的方法主要利用可糾正錯(cuò)誤(CEs)來(lái)預(yù)測(cè)UEs,但通常忽略了這些錯(cuò)誤在不同CPU架構(gòu)之間的差異,特別是在錯(cuò)誤糾正碼(ECC)適用性方面的差異。在本文中,我們研究了CEs和UEs在不同CPU架構(gòu)(包括X86和ARM)之間的相關(guān)性。我們的分析發(fā)現(xiàn),每種處理器平臺(tái)都有其特有的內(nèi)存故障模式。通過(guò)在生產(chǎn)數(shù)據(jù)集上應(yīng)用機(jī)器學(xué)習(xí)(ML)技術(shù),我們?cè)诓煌幚砥髌脚_(tái)上進(jìn)行了內(nèi)存故障預(yù)測(cè),與現(xiàn)有算法相比,F1分?jǐn)?shù)提升了高達(dá)15%。最后,我們提出了一個(gè)MLOps(機(jī)器學(xué)習(xí)運(yùn)維)框架,以在生產(chǎn)環(huán)境中持續(xù)改進(jìn)故障預(yù)測(cè)能力。
背景:
大規(guī)模數(shù)據(jù)中心中內(nèi)存故障是服務(wù)器崩潰的主要原因之一,不可糾正錯(cuò)誤(UE)是指示內(nèi)存模塊缺陷的主要故障類(lèi)型。因此,需要一種新型框架來(lái)預(yù)測(cè)跨CPU架構(gòu)中內(nèi)存系統(tǒng)中的不可糾正錯(cuò)誤(UE),并與內(nèi)存恢復(fù)技術(shù)相關(guān)聯(lián),以提高數(shù)據(jù)中心的可靠性和服務(wù)質(zhì)量。
(1) 跨CPU多層級(jí)內(nèi)存:
我們對(duì)跨CPU (X86, ARM) 的多層級(jí)(內(nèi)存條 層級(jí)) 的內(nèi)存CE錯(cuò)誤 (Fig. 1),進(jìn)行了分析,以研究其與內(nèi)存故障UE的相關(guān)性 (Fig. 2)。通過(guò)對(duì)華為云大規(guī)模數(shù)據(jù)中心中來(lái)自主流內(nèi)存廠商的90,000條數(shù)據(jù)的分析,我們發(fā)現(xiàn)內(nèi)存的故障模式在不同CPU間,因?yàn)榧m正算法ECC的不同,呈現(xiàn)不同的故障模式,因此確定了為不同CPU服務(wù)器構(gòu)建算法的必要性。

Fig. 1: Memory Organization.

Fig. 2: Analyses of Error Bits in Intel Platforms: Highlighting the Highest Rate with Red Bar.
(2) 構(gòu)建跨CPU的內(nèi)存故障預(yù)測(cè)算法:
我們利用分析了不同機(jī)器學(xué)習(xí)算法,包括有FT-Transformer, lightGBM等,發(fā)現(xiàn)LightGBM在所測(cè)試的數(shù)據(jù)集上有較好的結(jié)果,與現(xiàn)有算法比較,F1分?jǐn)?shù)提升了15%。我們呈現(xiàn)了算法在不同CPU架構(gòu)下的結(jié)果如Fig. 3.

Fig. 3: Overview of Algorithm Performance Comparisons across CPUs.
(3) 構(gòu)建故障預(yù)測(cè)的MLOps:
在開(kāi)發(fā)機(jī)器學(xué)習(xí)(ML)算法后,維護(hù)和改進(jìn)它們是至關(guān)重要的。這種工程工作對(duì)于算法在線快速迭代是必不可少的。因此,我們需要為內(nèi)存故障預(yù)測(cè)引入MLOps (Fig. 4)。我們從各種來(lái)源收集數(shù)據(jù),隨后被轉(zhuǎn)換、存儲(chǔ)在特征庫(kù)中。一旦模型訓(xùn)練完成并在基準(zhǔn)評(píng)估中顯示出顯著改進(jìn),它們就會(huì)被部署到生產(chǎn)環(huán)境中。云報(bào)警系統(tǒng)會(huì)根據(jù)預(yù)測(cè)的內(nèi)存故障觸發(fā)警報(bào)。根據(jù)具體的用例,將實(shí)施內(nèi)存RAS(可靠性、可用性和可維護(hù)性)技術(shù)來(lái)緩解這些故障。這個(gè)管道需要跨不同部門(mén)和團(tuán)隊(duì)的合作,從而增強(qiáng)整體團(tuán)隊(duì)協(xié)作能力。

Fig. 4: The MLOps Framework of Failure Prediction.
總結(jié):
1. 我們首次對(duì)大規(guī)模數(shù)據(jù)中心中的X86和ARM系統(tǒng)的內(nèi)存故障進(jìn)行了分析。
2. 通過(guò)我們的分析和預(yù)測(cè)建模工作,我們報(bào)告了四項(xiàng)發(fā)現(xiàn):
1)UE和突發(fā)UE的發(fā)生率在X86和ARM系統(tǒng)之間有所不同。
2)故障模式在不同的架構(gòu)中存在差異。
3)內(nèi)存的比特級(jí)故障模式依賴(lài)于系統(tǒng)架構(gòu)。
3. 我們的方法實(shí)現(xiàn)了F1分?jǐn)?shù)的15%提升。此外,我們分別在X86和ARM的不同平臺(tái)上進(jìn)行了實(shí)驗(yàn)。
4. 最后,我們介紹了用于內(nèi)存故障預(yù)測(cè)的MLOps框架。
原文鏈接: Investigating Memory Failure Prediction Across CPU Architectures