這應該是今年八月的Hotchips 30最讓筆者深感震撼的議程了,雖然Fujitsu早在今年六月就已經透露了「京」超級電腦後繼者的相關訊息,但這對處理器市場造成的衝擊,依舊餘波盪揚。
A64FX並非只是將「電腦的語言」—指令集架構—更替為Arm v8.2-A與SVE的SPARC64 XIfx,隱藏在「最強Arm處理器」響亮名號的背後,有太多值得各位科科慢慢吸收的「弦外之音」,比帳面上的硬體規格更加的重要。
在伺服器大廠紛紛放棄自主開發處理器的這些年,日本Fujitsu依舊持之以恆的研發GS系列大型主機、Unix伺服器使用的SPARC64處理器、與因應「京 (K)」超級電腦的高效能運算需求而衍生出來的SPARC64fx系列。
看了這麼多年喊著要搞「Arm伺服器」的晶片公司搞出一堆根本就不成氣候的產品設計,Fujitsu將其SPARC處理器的「語言」替換成Arm指令集架構,總算一口氣讓Arm處理器直登頂峰—高階企業伺服器的高效能,與大型主機等級的可靠度,作為「後京 (Post-K)」時代的日系超級電腦心臟。
即使超級電腦應用不等同於企業伺服器,但支撐A64FX的技術,已足以和其他的高階RISC伺服器和CISC大型主機平起平坐,且更具有「有效引進最新技術以縮短產品開發時程與降低成本」的特色。
A64FX處理器將使用7nm FinFET製程生產,87.86億個電晶體,預定應用於2021年量產出貨的日本新一代超級電腦,目標將實現2011年「京」超級電腦的一百倍性能。
A64FX使用「純64位元」的Arm-v8.2-A指令集,浮點運算使用支援512位元的SVE執行單元。浮點理論運算性能可達2.7T Flops,是前代的SPARC XIfx處理器1.1T Flops的2.5倍左右。
延續SPARC64 XIfx的基本設計,A64FX總計有48個計算核心及4個用來處理I/O的輔助核心,分為四個CMG單元,每個單元13 (12 計算+ 1輔助) 個核心,共用8MB第二階快取記憶體,配備8GB容量HBM2記憶體,理論記憶體頻寬256GB/s。換言之,A64FX總計32MB第二階快取記憶體,32GB容量 HBM2,1024GB/s記憶體理論頻寬,共用16條PCIe 3.0通道。
眼尖的科科絕對會發現快取記憶體的頻寬是「讀多寫少」,請動點腦想想高效能運算的特性吧。
連接運算單元的多處理器匯流排,一向是超級電腦的技術重頭戲,「京」超級電腦的處理器通過名為「豆腐 (Tofu)」的特殊6D Mesh / Torus網路連線在一起,A64FX採用的是第三代的「豆腐 (Tofu3)」,單埠7GB/s理論頻寬 (28Gbps x 2 Lane),10埠總計為進/出個別70GB/s,由下圖大概可以了解整個多處理器網路的外貌,一個機櫃可置入384顆A64FX,總計多達18432個運算核心。
Arm SVE指令集有個特色,特別值得拿出來聊一聊。
受制於指令編碼空間有限,難以為了所有的運算元,擠出指定的位元 (如需要5位元才能標定32個暫存器,四個運算元就會吃掉20位元),被迫做出犧牲的三運算元浮點乘積和指令 (A x B + C = C),會覆蓋掉原本C運算元內的內容,如要保留,就得大費周章先「備份」到其他的地方。
MOVPRFX指令則可先在三運算元浮點乘積和指令前,設置一個前製碼「更名」其中一個運算元,轉變成4運算元的浮點乘積和。
原本想做的運算:
(Z1 x Z2) + Z3 = Z0
但如果直接用現有指令做 (Z1 x Z2) + Z3 = Z3,就會摧毀掉Z3原本的內容,所以:
用MOVPREX將Z3改名為Z0,接連再執行(Z1 x Z2) + Z0 = Z0,實際上就變成:
(Z1 x Z2) + Z3 = Z0,皆大歡喜。
而A64FX的內部執行單元設計,就直接把接連兩個指令合併為一,隱藏掉執行兩個指令的額外延遲。
前面有提到A64FX的微架構和基礎設計沿自SPARC64 XIfx,那我們就來瞧瞧,兩者到底有多麼的像,像到根本是同一個模子刻出來的。
指令管線與執行單元規劃:
CMG分區設計:
大型主機等級的資料可用性,ECC單位元錯誤修正和Parity糾錯機制,讓整顆晶片大部分都受到資料保護:
指令集架構換了,當然軟體應用環境也要跟著改版,Fujitsu與自從「京」開始一同研發超級電腦的理化學研究所 (簡稱「理研」) 也開始合作開發新的環境,包含針對處理器微架構、新指令集與HBM2記憶體最佳化的編譯器。
最後,寫了這麼多,那各位科科一定很想知道筆者,在文初暗示的「 比帳面上硬體規格更重要的弦外之音」並「有效引進最新技術以縮短產品開發時程與降低成本」,到底是何等天大的祕密,說穿了也只有一句話:
超級電腦市場較量的不只是效能和耗電,「研發時程」與「建造速度」也同樣重要。
其實這也是IBM BlueGene/L十多年前可以獨領風騷的秘訣,採用高度整合SoC化的運算節點,並充分延續現有Power家族處理器的研發成果,以實現更好的空間利用密度與系統組裝速度,而A64FX就完全承襲了這樣的思維,從兩個小地方,即可略見一斑:
7nm FinFET製程與Arm生態系統:我們有87%的信心,相信A64FX將由台積電代工,這也意味著,Fujitsu可以直接沿用早被Apple和諸多客戶千錘百鍊的電子輔助設計工具、功能模塊和相關函式庫,藉由成熟的「研發供應鍊」,迅速完成產品的研發與驗證,並且降低成本。
HBM2記憶體:如同Google的第二代TPU,Fujitsu透過因顯示晶片市場而逐漸成熟的HBM2,大幅精簡了運算節點的體積,簡化新一代超級電腦的內部結構,加快出貨後的建造與佈署速度。
「最強Arm處理器」A64FX畢竟還是研發中的產品,當晶片真正tape out並樣品問世時,大概看起來也不會像現在這麼厲害了,但它的存在,象徵著Arm指令集也能享有高階伺服器等級的實作,假以時日,當「Arm伺服器生態系統」真的水到渠成,恐怕市場上將不缺能與同期IBM和x86處理器抗衡的先進產品。SPARC64fx可以更換指令集,那為何企業伺服器SPARC64就不行?更何況兩者統一,之後更能節約研發資源。
至於Fujitsu邁出這巨大的一步,是否代表SPARC指令集和Solaris作業系統即將走到生命的盡頭?就讓時間告訴我們最後的答案,但可能也不需要了。
5 則回應