進軍服務器市場,RISC-V能否與X86一戰(zhàn)?
眾所周知,目前X86架構處理器統(tǒng)治著PC和服務器市場,而Arm架構處理器則統(tǒng)治著移動市場,并在IoT市場占據(jù)著較大的市場份額。但是,近年來RISC-V架構則憑借著開源、指令精簡、可擴展等優(yōu)勢,在注重能效比的物聯(lián)網(wǎng)領域大受追捧。但是,在RISC-V International及相關芯片廠商的推動下,RISC-V也開始進入更高性能需求的服務器市場。
2023年初,RISC-V International將HPC確定為RISC-V增長的戰(zhàn)略優(yōu)先領域,再加上最近批準的矢量擴展和大量移植關鍵HPC庫和工具的HPC軟件工作,很明顯,這一領域的勢頭正在迅速增長。世界各地的很多項目,如歐洲eProcessor項目、擁有上千RISC-V核心的Esperanto CPU,以及旨在開發(fā)RISC-V關鍵軟件組件支持的多供應商RISE項目,都有可能推動RISC-V在包括HPC在內(nèi)的高端計算中普及,并最終使社區(qū)能夠圍繞這一技術構建超級計算機。此外,早期的應用研究對RISC-V可以為高性能工作負載帶來的好處也表示贊同。
2022年12月,芯片初創(chuàng)企業(yè)Ventana Microsystems公司在RISC-V峰會上發(fā)布了全球首款面向服務市場的基于RISC-V架構的最高192核CPU——Veyron V1。
據(jù)介紹,Veyron V1采用先進的5nm制程工藝,基于Ventana自研的高性能RISC-V內(nèi)核,8流水線設計,支持亂序執(zhí)行,主頻高達3.6GHz,每個集群最多16個內(nèi)核,多集群最多可擴展至192核,擁有48MB共享三級緩存,擁有高級側信道攻擊緩解措施、IOMMU和高級中斷架構(AIA)、支持全面的RAS功能、自上而下的軟件性能調(diào)整方法,可以滿足數(shù)據(jù)中心的各種需求。(更多詳細介紹可參考:《RISC-V殺向服務器市場!5nm制程、最高192核,性能超AMD EPYC 7763!》)
根據(jù)Ventana披露的數(shù)據(jù)顯示,在SPECint 2017測試中,其128核心版本的Veyron V1在300W功耗下,大幅性能領先于64核的AMD EPYC Milan 7763(280W),并且達到了64核心AWS Graviton G3(Neoverse v1內(nèi)核)、40核心Intel Xeon Ice Lake 8380(270W)的兩倍。當然這也主要得益于其核心數(shù)量達到了競品的兩倍。
需要指出的是,Veyron V1并沒有SIMD或向量執(zhí)行單元,這對上有AVX-512的Intel或AMD的服務器處理器會非常吃虧。另外,Veyron V1目前還沒有量產(chǎn),之前承諾的是今年第二季或第三季向客戶提供樣品。所以,以上官方公布的數(shù)據(jù)都還是紙面上的數(shù)據(jù)。
相比之下,今年三月國內(nèi)某廠商推出的64核RISC-V服務器芯片SG2042目前已經(jīng)小批量出貨。近日,國外研究人員Nick Brown 通過RAJAPerf基準測試套件對于這款芯片進行了實測,發(fā)現(xiàn)其與最新的廣泛可用的RISC-V芯片相比,其平均每個核心的性能提高了5到10倍。但是在多線程工作負載下,x86高性能CPU的平均性能依然達到了它的4-8倍。
據(jù)該研究報告顯示,該64核RISC-V處理器,運行頻率為2GHz,由四個高性能的C920內(nèi)核組成,并采用了12級無序多問題超標量管道設計。
C920提供RV64GCV指令集,具有三個解碼、四個重命名/調(diào)度、八個發(fā)布/執(zhí)行和兩個加載/存儲執(zhí)行單元。支持矢量化標準擴展(RVV v0.7.1),矢量寬度為128位,支持數(shù)據(jù)類型FP16、FP32、INT8、INT16、INT32和INT64。然而,C920并不支持FP64矢量化。研究稱,雙精度浮點是絕大多數(shù)高性能工作負載的基礎,因此能夠支持矢量化這些操作的核心可能會為HPC提供更高的性能。每個C920核心還包含64KB的L1指令(I)和數(shù)據(jù)(D)緩存,1MB的L2緩存,在四個核心的集群之間共享,64MB的L3系統(tǒng)緩存,由集群中的所有核心共享。還提供四個DDR4-3200內(nèi)存控制器和32條PCIe Gen4通道。
HPC工作負載的一個重要考慮因素是矢量化,由于C920核心僅支持RVV v0.7.1,編譯器支持是一個挑戰(zhàn)。RISC-V GNU編譯器的當前上游版本不支持任何版本的矢量擴展。雖然GNU存儲庫包含一個rvv下一個分支,其目的是支持rvv v1.0,但在研究人員撰寫研究報告時,它并沒有得到積極維護。此外,還有一個針對rvv v0.7.1的rvv-0.7.1分支,但該分支已被刪除。由于缺乏對主線GCC的支持,阿里平頭哥(T-Head)提供了自己的GNU編譯器分支(玄鐵GCC),該編譯器已針對其處理器進行了優(yōu)化。
T-Head的定制編譯器同時支持RVV v0.7.1和他們自己定制的自定義擴展。雖然已經(jīng)提供了該編譯器的幾個版本,但作為其20210618版本的一部分,GCC8.4提供了最佳的自動向量化能力,因此這是研究人員進行的基準測試實驗選擇的版本。該版本的編譯器生成矢量長度特定(VLS)RVV組件,該組件專門針對C920的128位矢量寬度。所有內(nèi)核都在優(yōu)化級別三進行編譯,所有報告的結果都在五次運行中取平均值。
與其他高性能RISC-V內(nèi)核比較
研究人員比較了SG2042與賽昉(StarFive)開發(fā)板VisionFive V1和 Vision V2的性能,V1包含賽昉JH7100 SoC,而V2包含賽昉JH7110 SoC。
JH7100和JH7110這兩個SoC都是基于64位RISC-V SiFive U74內(nèi)核構建的,JH7100包含兩個內(nèi)核,JH7110包含四個內(nèi)核。SoC被列為以1.5GHz運行,U74內(nèi)核包含32KB(D)和32KB(I)L1緩存,兩種SoC型號還包含內(nèi)核之間共享的2MB L2緩存。然而,SiFive U74僅提供RV64GC,因此不支持RISC-V矢量擴展。
△圖1展示了VisionFive V2和V1與SG2042在雙精度(FP64)和單精度(FP32)方面的單核性能比較。其中條形圖是整個類別中速度更快或更慢的平均次數(shù),線條的范圍從最大到最小。
從圖1中可以看出,單個C920核心在雙精度和單精度方面都優(yōu)于V2和V1的U74核心。在雙倍精度下,C920核心的平均性能是V2中U74以雙倍精度運行時的4.3至6.5倍。此外,在單精度下,C920的性能是基準測試平均性能的5.6至11.8倍。這是一個令人印象深刻的性能提升,并且C920內(nèi)核上沒有比U74運行得慢的內(nèi)核。一些內(nèi)核在C920上的性能非常令人印象深刻,例如,來自算法組的內(nèi)存集基準在FP32中的運行速度是U74的40倍,在FP64中運行速度是U74的18倍。
需要強調(diào)的是,該基準測試在這些核心上都是以盡可能好的配置,即C920上利用了矢量化,但是U74不支持矢量化,因此在V1或V2上不可用。SG2042上的FP32和FP64之間存在顯著的性能差異,這表明事實上C920矢量運算不支持FP64。相比之下,在V2上運行雙精度和單精度之間的性能差異要小得多。
圖1中結果的一個方面讓研究人員感到驚訝的是,VisionFive V1比V2慢得多。考慮到測試只是在單核上運行RAJAPerf,所以芯片的雙核和四核性質(zhì)并不重要,因為它們都包含相同的U74核心,那么其性能應該相當相似。但是,在雙倍精度下,V1比V2慢了六倍到三倍,單精度則慢了一倍到三倍。雖然可以假設V1可能以比V2更低的時鐘頻率運行,盡管它們在數(shù)據(jù)表中都被列為以1.5GHz運行,但機器上沒有任何文件或輸出可以證實這一點。
從圖1中可以看出,與現(xiàn)有的、公開可用的商品RISC-V內(nèi)核相比,單個C920核心所獲得的性能令人印象深刻。T-Head將該核心描述為一種高性能RISC-V處理器。測試也表明,其與U74相比,在整個基準測試套件中的性能有了很大的提高,U74以前被認為是廣泛可用的RISC-V CPU的最佳選擇,可以在其上進行HPC工作負載的實驗。
除了單核性能外,SG2042在核數(shù)量方面也顯著領先于V1的JH7100和V2的JH7110 SoC。
與x86服務器CPU性能比較
那么相對于其他商用的X86服務器芯片,SG2042在HPC工作負載中的表現(xiàn)如何呢?對此,研究人員將其與當前一代服務器中使用的其他CPU進行了比較,分別為64核的AMD Rome EPYC 7742、18核的Intel Broadwell Xeon E5-2695、28核的Intel IceLake Xeon 6330、4核心的Intel SandyBridge Xeon E5-2609。測試只在這些x86 CPU的物理內(nèi)核上執(zhí)行,因為默認情況下禁用了所有SMT。
AMD EPYC 7742在四個NUMA區(qū)域中包含64個物理內(nèi)核,每個區(qū)域有16個內(nèi)核,但有八個內(nèi)存控制器。每個核心包含32KB(I)和32KB(D)L1緩存,512KB的L2緩存,四個核心之間共享16MB的L3緩存。EPYC 7742提供支持AVX2,具有256位寬的矢量寄存器,是SG2042的兩倍,并支持FP64的矢量化。
Intel Xeon E5-2695的18個物理內(nèi)核位于一個NUMA區(qū)域中,提供32KB(I)和32KB(D)L1緩存,256KB的L2緩存,以及45MB的跨內(nèi)核共享的L3緩存。與AMD EPYC 7742類似,Xeon E5-2695支持AVX2,并且有四個內(nèi)存控制器。
Intel Xeon 6330是比較的最新CPU,所有28個物理內(nèi)核都在一個NUMA區(qū)域中,具有8個內(nèi)存控制器,具有32KB(I)和48KB(D)L1緩存,每個內(nèi)核1MB L2緩存,以及43MB共享L3緩存。Xeon 6330支持AVX512,并提供512位寬的矢量寄存器。
Intel Xeon E5-2609屬于本次測試當中最古老的CPU,其于2012年發(fā)布,僅提供四個物理核,每個核都有64KB(I)和64KB(D)L1緩存,以及256KB的L2緩存和共享的10MB L3緩存。該E5-2609僅支持AVX,因此矢量寄存器長度與SG2042相同,為128位,盡管AVX支持FP64。
在所有測試當中,研究人員禁用了x86物理內(nèi)核的超線程。除了ARCHER2之外,研究人員在所有系統(tǒng)上都使用GCC版本8.3,編譯始終在優(yōu)化級別O3下進行。全部在性能最高的線程數(shù)量上執(zhí)行的系統(tǒng)。
△圖4展示了各芯片在FP64上運行基準測試套件的單核性能。其中條形圖是整個類別中速度更快或更慢的平均次數(shù),線條的范圍從最大到最小。SG2042為均值基線。
從測試結果來看,除了除了古老的Xeon E5-2609內(nèi)核之外,所有x86內(nèi)核的性能都優(yōu)于C920,后者在流和算法基準類中的平均性能較慢。AMD EPYC 7742和Intel Xeon 6330 CPU的表現(xiàn)往往優(yōu)于Intel Xeon E5-2695,這是可以理解的,因為Xeon E5-2695是這三款CPU中的老款。
△圖5展示了各芯片在FP32上運行基準測試套件的單核性能與基線相比的快慢次數(shù)。
從圖5可以看出,AMD EPYC 7742在單精度執(zhí)行時與雙倍精度執(zhí)行時相當乏善可陳,而英特爾處理器的平均性能也一樣好,事實上,當使用FP32時,古老的Xeon E5-2609內(nèi)核在每種級別上的平均性能都優(yōu)于C920。
然而,圖5中的平均條形圖并不能提供完整的圖片。C920僅支持FP32的矢量化,事實上,從圖5和圖4中的線條可以看出,F(xiàn)P32的許多基準類的最大速度比FP64快。此外,有更多運行速度最慢的內(nèi)核在x86 CPU上的執(zhí)行速度比FP32上的C920慢。這些內(nèi)核是有效應用自動矢量化的地方,事實上,可以看出,對于lcals基準類,所有x86 CPU上至少有一個內(nèi)核的性能低于C920。
總結來說,在單核性能比較上,F(xiàn)P32下的AMD EPYC 7742平均表現(xiàn)要比C920快3倍,Intel Xeon E5-2695要快2倍,Intel Xeon 6330也要快4倍,Xeon E5-2609則快2倍,F(xiàn)P64下的這些數(shù)字則分別快4倍、4倍、5倍和20%。
△FP64多線程性能比較,報告比基線快或慢的次數(shù)
圖6展示了針對雙精度FP64的性能比較??梢钥闯觯琤asic、lcals、polybench和stream類測試從更多的內(nèi)核中受益最大,因此SG2042的平均性能優(yōu)于古老的Xeon E5-2609。
△FP32多線程性能比較,報告比基線快或慢的次數(shù)
圖7展示了FP32的多線程性能比較,這些結果包含最大的差異。為了提高可讀性,研究人員限制了縱軸,并標記了超過該值的實際數(shù)值。在多線程FP32方面,SG2042往往比FP64在與x86 CPU的競爭中表現(xiàn)得略強,盡管polybench類是一個異常,因為它在三個最新的x86 CPU上的表現(xiàn)要好得多,而Intel Xeon E5-2609的表現(xiàn)則差得多。
總結來說,在SG2042多線程性能與x86 CPU進行比較時,在FP32和FP64上運行的所有基準類型測試中,其64核平均性能優(yōu)于4核的Intel Xeon E5-2609。64核的AMD EPYC 7742在FP32和FP64方面的性能分別是SG2042的8倍和5倍。18核的Intel Xeon E5-2695在單精度和雙精度方面分別平均達到了6倍和4倍。最后,28核的Intel Xeon 6330在FP32和FP64方面的表現(xiàn)分別是其6倍和8倍。
結論:
研究人員表示,盡管當前有許多公司在開發(fā)高性能RISC-V硬件原型,但到目前為止,當希望在可商用的RISC-V軟件上運行工作負載時,選擇非常有限。不管怎樣,盡管這些解決方案能夠?qū)ISC-V進行實驗,但它們并不能在體系結構上提供生產(chǎn)高性能工作負載所需的功能。因此,盡管HPC社區(qū)對RISC-V很感興趣,但它還沒有完全準備好迎接這項技術。
當然,作為世界上第一款廣泛可用的針對HPC的多核RISC-V服務器芯片,SG2042可能會大大提高HPC社區(qū)對RISC-V的興趣和采用率。然而,一個關鍵的問題是其與當前一代超級計算機中普遍存在的x86 CPU相比依然有著較大的差距。不過,與目前可商用的RISC-V硬件相比,這是一款非常令人興奮的RISC-V服務器芯片,它提供了一些重大的變化。雖然性能還沒有達到x86服務器CPU的水平,但應該強調(diào)的是,RISC-V供應商在短時間內(nèi)取得了長足的進步。相比之下,x86 CPU有著悠久的歷史,并從他們多年的開發(fā)中受益。
在芯智訊看來,目前RISC-V進入服務器CPU市場的競爭對手主要還是Arm服務器CPU,畢竟其理論上RISC-V CPU可以擁有相比Arm CPU更低的成本、更高的定制化和可擴展性。
對于下一代高性能RISC-V處理器來說,研究人員認為,提供RVV v1.0將非常有用,因為這將提供使用用于編譯矢量化代碼的主線GCC和Clang。此外,提供FP64矢量化、更寬的矢量寄存器、增加的L1高速緩存以及每個NUMA區(qū)域更多的存儲器控制器也可能帶來顯著的性能優(yōu)勢,并有助于縮小與x86高性能處理器的差距。
編輯:芯智訊-浪客劍
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權請聯(lián)系工作人員刪除。