硬科技:Arm邁向高階伺服器最偉大的一步:Fujitsu A64FX

2018.10.09 07:36PM
Logo, Brand, Font, graphics, text, font, product, area, logo, brand, graphics

這應該是今年八月的Hotchips 30最讓筆者深感震撼的議程了,雖然Fujitsu早在今年六月就已經透露了「京」超級電腦後繼者的相關訊息,但這對處理器市場造成的衝擊,依舊餘波盪揚。

A64FX並非只是將「電腦的語言」—指令集架構—更替為Arm v8.2-A與SVE的SPARC64 XIfx,隱藏在「最強Arm處理器」響亮名號的背後,有太多值得各位科科慢慢吸收的「弦外之音」,比帳面上的硬體規格更加的重要。

Hot Chips, ARM architecture, Fujitsu, , Central processing unit, Supercomputer, K computer, Computer, Integrated Circuits & Chips, FLOPS, fujitsu a64fx, text, line, font, area, product

在伺服器大廠紛紛放棄自主開發處理器的這些年,日本Fujitsu依舊持之以恆的研發GS系列大型主機、Unix伺服器使用的SPARC64處理器、與因應「京 (K)」超級電腦的高效能運算需求而衍生出來的SPARC64fx系列。

Central processing unit, Fujitsu, , ARM architecture, Hot Chips, Ryzen, Advanced Micro Devices, , Supercomputer, SPARC, fujitsu a64fx, text, line, area, diagram, font

看了這麼多年喊著要搞「Arm伺服器」的晶片公司搞出一堆根本就不成氣候的產品設計,Fujitsu將其SPARC處理器的「語言」替換成Arm指令集架構,總算一口氣讓Arm處理器直登頂峰—高階企業伺服器的高效能,與大型主機等級的可靠度,作為「後京 (Post-K)」時代的日系超級電腦心臟。

即使超級電腦應用不等同於企業伺服器,但支撐A64FX的技術,已足以和其他的高階RISC伺服器和CISC大型主機平起平坐,且更具有「有效引進最新技術以縮短產品開發時程與降低成本」的特色。

All rights reserved, Product, Organization, Copyright, Product design, Font, Rights, Design, Fujitsu, , All rights reserved, text, font, line, product, area, organization, diagram, media

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倍左右。

, , Syndicate Bank, , , Bank of Baroda, Manipal, , Organization, Canara Bank, manipal cut off marks 2017, text, line, font, product, area, number, organization

延續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通道。

眼尖的科科絕對會發現快取記憶體的頻寬是「讀多寫少」,請動點腦想想高效能運算的特性吧。

Bild, Text, Organization, Font, Product, Typeface, Fujitsu, , Angle, Learning, Bild, text, line, font, product, area, diagram, organization, angle, number, learning

連接運算單元的多處理器匯流排,一向是超級電腦的技術重頭戲,「京」超級電腦的處理器通過名為「豆腐 (Tofu)」的特殊6D Mesh / Torus網路連線在一起,A64FX採用的是第三代的「豆腐 (Tofu3)」,單埠7GB/s理論頻寬 (28Gbps x 2 Lane),10埠總計為進/出個別70GB/s,由下圖大概可以了解整個多處理器網路的外貌,一個機櫃可置入384顆A64FX,總計多達18432個運算核心。

, Fujitsu, K computer, , Computer, ARM architecture, Central processing unit, Microprocessor, Riken, Tofu, angle, text, line, font, organism, area, product, angle, diagram, Fujitsu

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的內部執行單元設計,就直接把接連兩個指令合併為一,隱藏掉執行兩個指令的額外延遲。

Line, Angle, Organization, Font, Product, Advertising, advertise with us, text, line, font, area, product, angle, organization, parallel

前面有提到A64FX的微架構和基礎設計沿自SPARC64 XIfx,那我們就來瞧瞧,兩者到底有多麼的像,像到根本是同一個模子刻出來的。

指令管線與執行單元規劃:

Hot Chips, , Intel, ARM architecture, Computer, , Central processing unit, , Computer program, Computer architecture, display advertising, text, line, product, font, area, advertising, display advertising, software, technology, computer program

Font, Organization, Floor plan, Product, Line, Diagram, Floor, diagram, text, line, area, font, diagram, organization, product, media, floor plan, parallel

CMG分區設計:

, Periodic table, Chemical element, HTML, Computer, JavaScript, Hot Chips, Document Object Model, Period, Central processing unit, html 元素 周期 表, text, line, font, product, area, angle, number, parallel, Chilectra

Architecture, Line, Product, Angle, Font, Bus, Architecture, text, line, area, font, diagram, product, angle

大型主機等級的資料可用性,ECC單位元錯誤修正和Parity糾錯機制,讓整顆晶片大部分都受到資料保護:

, Computer, Central processing unit, Hot Chips, Supercomputer, Fujitsu, K computer, Instruction, SPARC, Computer font, point, text, line, product, area, font, parallel, Heinz Foodservice

All rights reserved, , Rights, Fujitsu, Central processing unit, Product, Font, Angle, Technology, Artificial intelligence, All rights reserved, text, line, font, area, angle, product, The Mission to Seafarers, Siemens

指令集架構換了,當然軟體應用環境也要跟著改版,Fujitsu與自從「京」開始一同研發超級電腦的理化學研究所 (簡稱「理研」) 也開始合作開發新的環境,包含針對處理器微架構、新指令集與HBM2記憶體最佳化的編譯器。

, Hot Chips, Fujitsu, Central processing unit, Software development, Computer Software, , Supercomputer, Organization, Operating Systems, Software development, text, font, line, software, area, product, media, organization, Apache HTTP Server

最後,寫了這麼多,那各位科科一定很想知道筆者,在文初暗示的「 比帳面上硬體規格更重要的弦外之音」並「有效引進最新技術以縮短產品開發時程與降低成本」,到底是何等天大的祕密,說穿了也只有一句話:

超級電腦市場較量的不只是效能和耗電,「研發時程」與「建造速度」也同樣重要。

其實這也是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 則回應

  • 這個是給超級電腦用的CPU,主要是新的ARM V8指令集取代已經20多年的SUN SPARC V9指令集的新處理器。跟一般使用者沒關係,很美的美女但是看看睡就好
    2018-10-09
  • 你寫一大篇,其實觀眾和買家只想知道一件事:以前的作業系統和應用程式能相容嗎?
    2018-10-09
    • SPARC64fx一直是Linux,重點是Fujitsu今天這樣搞,是不是他們也覺得Solaris來日無多,連帶讓SPARC64體系一起改。這兩者的設計和研發是連動的。
      2018-10-09
    • 文章有提以前是用Solaris
      2018-10-09
    • 這類裝置從以前到現在都跑客製或專用作業系統,才能發揮最佳效能。
      2018-10-09