【文章在 2023-06-04 更新過內容】
AMD 最近公佈了 EPYC 7002「羅馬」伺服器晶片的最新修正指南,裡面揭露了一個有趣的 bug(錯誤),這個 bug 會讓晶片上的一個核心在運作 1,044 天(約 2.93 年)後當機,之後你就必須重啟伺服器才能讓晶片正常運作,AMD 表示它不會修復這個問題,AMD 對這個影響它的第二代 EPYC 處理器(AMD 的第四代 Genoa 晶片是最新的)的問題的描述很簡潔。
AMD EPYC 7002 bug 的原因是什麼?
這個問題是由於核心無法退出 CC6 睡眠狀態造成的,但 AMD 說故障發生的時間可能會因為頻譜展開和 REFCLK 頻率而有所不同,後者是幫助晶片記錄時間的參考時鐘。
Reddit 用戶 acid_migrain 對核心當機的確切時間有一個合理的理論,他說:「儘管他們這麼說,問題實際上是在 1042 天和大約 12 小時後出現的。TSC 以 2800 MHz 的速度滴答,而 2800 * 10**6 * 1042.5 天幾乎等於 0x380000000000000,這有太多個零了,不可能是巧合。」解決方法很簡單,只要在 1,044 天的運作時間之前重啟(這會重置 CPU 並重新開始你的 1,044 天「計時器」),或者禁用 CC6 睡眠狀態。
雖然這個 2.93 年核心當機的 bug 很有趣,但問題是它是否真的重要,當然它很重要,儘管安全更新和維護應該在更短、更短的間隔內完成,最現實的情況可能只是那些使用 Linux 實時補丁功能或 kexec 在不重啟的情況下更新的人,這肯定會導致觸發 bug 的延長運作時間。
晶片中的錯誤很常見
當有數十億個電晶體在運作時,問題是不可避免的,晶片有一千個或更多的錯誤/ bug 在推出之前就被修正了,這些錯誤/ bug 要麼在晶片達到最終出貨修訂期間被發現,要麼在之後被發現。
這些錯誤可以涵蓋各種 bug,從安全漏洞到不正常運作的標誌和快取標籤,而晶片製造商會盡力在推出之前解決它們,然而總是會有一些錯誤仍然存在,甚至在出貨的晶片中也是如此,例如 Intel 的第 8 代晶片仍然有超過 150 個列出的錯誤,而這些晶片是在 2017 年推出的。
我們不知道羅馬晶片有多少錯誤,因為 AMD 已經移除了已經解決的錯誤的列表,但我們知道還有 39 個錯誤沒有解決,這實際上與 Intel 的背景相比並不算太壞,有些錯誤是因為它們沒有造成任何傷害而被忽略的,但除了可能留下攻擊向量的關鍵錯誤之外,一些與功能相關的錯誤也從未被修復。
晶片製造商會權衡修復錯誤的嚴重性、解決問題的容易程度以及是否有足夠數量的錯誤來值得啟動另一個步進,其他 bug 可以通過軟體或韌體修復,但修復可能會導致性能降低,給晶片製造商帶來另一個因素要考慮。
為什麼 AMD 沒有早點發現它?
2.93 年比驗證和品質測試周期要長,而且不清楚加速老化測試是否能捕捉到這個 bug,加速老化測試通常涉及在長時間內以高於正常溫度測試設備,以模擬老化過程,AMD EPYC 羅馬晶片是在 2018 年底推出的,所以也許 AMD 的一些客戶已經以最困難的方式遇到了這個問題。
AMD 並不會修復這個問題,也許該公司認為這個問題在矽晶片上修復的成本太高,無論如何,禁用伺服器的 CC6 睡眠狀態可以避開這個問題,或者你可以每隔 1,000 天左右確保重啟一次。
延伸閱讀:NVIDIA 今年要吃下 60% 的 AI 市場,AMD 在雲端超越 Intel
參考資料
最新文章
- 3 種 iOS 17 更新方法【iOS 17 下載方法、支援機型重點整理】
- 【教學】如何在 Windows VMware 安裝 macOS 13 Ventura?
- Windows 連 Mac 電腦共用資料夾、共用硬碟,同網域就可快速同步傳輸檔案
- 【限時免費】MultCloud 跨雲端傳輸工具,限時 200GB 流量免費領!
- Mac 連 Windows 共用資料夾、共用硬碟設定技巧教學(含密碼權限)
- Win10/Win 11 辦公室共用資料夾、共用硬碟教學,含不同權限密碼設定(區域網路)
- 【限時免費】AnyViewer Professional 遠端桌面軟體一年份序號免費拿
- 【限時免費】AOMEI Backupper Professional 一年份序號免費拿
- 【限時免費】AOMEI FoneTool Professional 一年份序號免費拿
- Win10/Win11 共享資料夾、共享硬碟詳細設定教學(共用資料夾/共用硬碟)