宇宙線簇射產生的快中子會導致超級計算機出現各種嚴重的錯誤。物理學家們透過實驗測定,研究減輕宇宙線影響的方法,同時也能保護自動駕駛和量子計算等方面的安全。
2013年,一名玩家在任天堂超級馬里奧遊戲中遭遇了一個“不可能發生”的“瞬移”,這個事故透過直播平臺引起了另一名資深玩家關注,他決心解釋發生的事情,甚至向任何能夠重現這一“瞬移”的人提供1000美元的獎勵。很多玩家進行了嘗試,但都徒勞無功。最後他的結論是:定義角色高度位元組中的某一位元位恰好被改寫了,而元兇很可能是來自外太空的電離粒子。2008年10月7日,一架從新加坡飛往澳大利亞的航班在11300m的高度飛行時突然發生俯衝,造成12名乘客嚴重受傷。調查員認為問題源自“單粒子翻轉”(SEU)導致的錯誤資料進入了電子飛行系統。這一次可能也是宇宙射線造成的。而2003年比利時的一場電子投票中,同樣由於SEU導致4096張選票的記錄錯誤。
宇宙線同樣會改寫超級計算機中的資料,並造成系統崩潰。這一點受到了越來越多的關注,特別是今年將誕生E級水平的計算機,每秒計算能力達到百億億次。目前還不清楚宇宙線對E級機會造成多少威脅。但隨著電晶體造得越來越小,翻轉一個位元所需要的能量也越來越低,同時計算機的總表面積卻越來越大,因此資料侵蝕(data corruption)的風險不斷增加。
幸運的是,行業專家正在嚴肅地對待這一挑戰,比如,一項對電子器件進行的所謂“宇宙壓力測試”實驗,就是使用中子束流照射的方式來模擬宇宙線效應。
宇宙線當然不是唯一造成計算機誤差的原因,還有溫度、工藝等問題,不過從第一臺超級計算機Cray-1開始,宇宙線的效應就很明顯,也是由於它恰巧在海拔2300 m的洛斯阿拉莫斯,那裡宇宙線的影響很顯著。它的製造者極不情願地在系統中增加了“校驗位”,這一數位記錄的是所有資料位求和之後的奇偶性,任何數位發生反轉都會造成“校驗失敗”。在最初6個月的執行中,Cray-1記錄下了152次校驗失敗。隨著超級計算機的發展,宇宙線的影響並未消失。2002年,當時世界第二快的計算機ASCIQ同樣在洛斯阿拉莫斯,甚至不能穩定執行一小時,後來的解決方式是在伺服器上加了金屬板,使其穩定時間達到了6小時。
宇宙亂局
宇宙線來源於太陽或者超新星爆發等災變事件,甚至來自我們的銀河系之外。成分主要是高能質子和氦核,以接近光速在宇宙中執行,當這些高能粒子到達地球大氣的時候產生次級的粒子線簇,有中子、π介子和α粒子。能存活到地面附近的主要是中子,尤其是快中子。
每秒鐘都會有上百萬箇中子穿過我們的身體,但只有極低的機率會改變計算機記憶體的數位。當中子穿過晶片時,雖然不會造成物理破壞,但會造成二進位制位數值的波動,有時可能完全看不出來,有時則是災難性的。這有點像人體中DNA受到輻射的後果,取決於突變發生在哪裡,可能造成癌症,但並不絕對。低能的熱中子比原本宇宙線中的能量要低9個量級,它們會與晶片中的硼-10發生碰撞,硼核吸收一箇中子衰變為鋰,並釋放出一個α粒子。
防護測量
採用冗餘設計可以有效降低錯誤的發生,使用兩套甚至三套硬體去存放資料,一旦錯誤發生就會被發現,這在衛星和宇宙飛船上很常見。但對於長期執行的超級計算機來說,太昂貴了。而修建3 m厚的混凝土牆來遮蔽中子也是不現實的,有的計算中心已經被放到地下深處。今天的計算機使用比校驗碼更加複雜的錯誤更正碼(ECC),佔資料量的12%。另外一個重要的革新就是檢查點的使用,它會儲存一些中間的結果,一旦發生錯誤,可以從上一個檢查點續跑。
系統崩潰和資料丟失並不是問題的全部,還有一些不可察覺的錯誤,比如ECC可以發現兩個數位的錯誤,但如果宇宙線造成三個數位的反轉就無能為力了。
加速測試
越來越多商業顯示卡(GPUs)進入高效能計算的領域,它本是設計用於圖形顯示的,但現在這種低能耗高效率的裝置大量進入了超級計算機和自動駕駛汽車領域,如果發生錯誤將可能造成一場災難。
基於ChipIR光束線(圖1),可以檢驗無人汽車中使用的顯示卡發生錯誤的機率。即在暴露於高能中子輻照的硬體裝置上執行一個確定結果的應用。比如,在無人駕駛汽車系統中測試一個預先錄製的影片,看軟體是否能正確地識別出行人。
圖1 大氣中子束生成器件(ChipIR)示意圖。放置於ISIS裂變源,由盧瑟福阿普爾頓實驗室與義大利國家研究委員會(CNR)合作製造,用於微電子器件的放射性效應和高能中子SEU效應的快速檢驗
當然,在這個實驗中,中子流的強度要比宇宙線強得多,實際上高達地表水平的15億倍。這可以加速實驗的程序,如同把裝置放在真實的環境中上萬年,每小時這個實驗可以造成100次錯誤,由此推算真實環境中的GPU平均每3.2年會出現一次錯誤。看起來機率很低,但是如果在超級計算機上大規模地部署就不一樣了。按照這個錯誤率估計,裝有1800塊GPU的超級計算機平均每15小時就會發生一次錯誤。而對於汽車來說,整個歐盟有2.68億輛,就算其中十分之一在路上,那每小時也會有380個錯誤發生。
規模問題
隨著超級計算機變得越來越大,這個問題愈加嚴重,如果第一臺超級計算機Cray-1有幾個房間那麼大,那麼今天的計算機已經有足球場那麼大了。相應地,也引入了更多的校驗機制。而在自動駕駛領域,究竟何種錯誤會造成致命事故的研究也在進行中。
另一個用來檢驗數值模擬正確性的方法就是透過物理規律本身,比如系統的總能量在模擬中應該守恆之類。另外,使用AI的方法,依據連續的影象來“感知”錯誤的發生。目前這種方法能找到90%的錯誤。比如在氣候模式的模擬中,不斷監控是否有資料突然超出了正常的範圍,一旦發生躍變,可能就是一個錯誤。
量子困境
量子計算在未來可能有著巨大的應用,但宇宙線對它的影響也更大。量子資訊的基本單元是量子位元(qubit),它可以有三個狀態,0,1和混合態,這是它能夠平行計算,能力超過超級計算機的原理所在。量子位元必須是相干的,也就是彼此之間是協同作用的。目前持續最久的相干時間大概為200 μs,而這可能也會受到宇宙線的影響(圖2)。
圖2 未來的障礙:科學家已經開始研究宇宙線是如何導致退相干的,這是量子計算中的嚴重問題
放射性同位素銅-64的半衰期超過12小時,把它放在低溫下帶有超導量子位的3He/4He稀釋製冷機中,幾天之後,放射性變得很低,超導量子位進入量子相干態,再經過幾周的時間,量子位元慢慢地回到基礎水平。也可以使用很重的鉛磚牆來做類似的實驗,每10分鐘就升起然後降下鉛遮蔽,可以看到量子位元穩定性的週期變化。
透過這些實驗可知,在沒有宇宙線和其他輻射環境條件下,量子位元最多可以持續4 ms,大大高於當前的數值。谷歌將在53位元的Sycamore量子處理器上增加鋁膜島。在顆粒狀超導鋁材料上製備的量子位元位於矽襯底上,當受到輻射時,量子位元和襯底之間交換光子,導致退相干,希望這些鋁膜島會優先捕獲這些光子。另一個辦法是使用糾錯碼,谷歌開發了一個棋盤狀的佈局,在“白格”裡放資料量子位元,而“黑格”裡放驗證鄰格正誤的量子位元,這種佈局可以避免量子糾纏帶來的退相干。
在未來的幾年中,來自太空的挑戰將會進一步加劇,如果不能引入更多的技術,那麼宇宙線將有可能是限制超級計算機發展的重要因素,即便晶片尺寸能夠做得越來越小。也許需要更多新的糾錯方法,我們並不需要太過悲觀,相信一定能夠找到解決的方案。