進軍伺服器的RISC-V能否與 x86一戰?

進軍伺服器的RISC-V能否與 x86一戰?

ADVERTISEMENT

目前 x86 架構處理器統治著 PC 和伺服器市場,而 Arm 架構處理器則統治著行動市場,並在 IoT 市場佔據著較大的市佔率。但是,近年來 RISC-V 架構則憑藉著開源、指令精簡、可擴充等優勢,在注重能效比的物聯網領域大受追捧。

在 RISC-V International 及相關晶片廠商的推動下,RISC-V 也開始進入更高性能需求的伺服器市場。

2023 年初,RISC-V International 將 HPC 確定為 RISC-V 增長的戰略優先領域,再加上最近批准的向量擴充和大量移植關鍵 HPC 庫和工具的 HPC 軟體工作,很明顯,這一領域的勢頭正在迅速增長。

世界各地的很多項目,如歐洲 eProcessor 項目、擁有上千 RISC-V 核心的 Esperanto CPU,以及旨在開發 RISC-V 關鍵軟體元件支援的多供應商 RISE 項目,都有可能推動 RISC-V 在包括 HPC 在內的高階電腦中普及,並最終使其能夠圍繞這一技術建構超級電腦。

此外,早期的應用研究對RISC-V可以為高性能工作負載帶來的好處也表示讚同。

2022年12月,晶片初創企業 Ventana Microsystems 公司在 RISC-V 峰會上發表了全球首款面向服務市場的基於 RISC-V 架構的最高 192 核 CPU——Veyron V1。

據介紹,Veyron V1 採用先進的 5nm 製程工藝,基於 Ventana 自研的高性能 RISC-V 核心,8 流水線設計,支援亂序執行,主頻高達 3.6GHz,每個叢集最多 16 個核心,多叢集最多可擴充至 192 核,擁有 48MB 共享 L3 快取,擁有進階側通道攻擊緩解措施、IOMMU 和進階中斷架構(AIA)、支援全面的 RAS 功能、自上而下的軟體性能調整方法,可以滿足資料中心的各種需求。

進軍伺服器的RISC-V能否與 x86一戰?

根據 Ventana 透露的資料顯示,在 SPECint 2017 測試中,128 核版本的 Veyron V1 在300W 功耗下,大幅性能領先於 64 核的 AMD EPYC Milan 7763(280W),並且達到了64 核 AWS Graviton G3(Neoverse v1核心)、40 核 Intel Xeon Ice Lake 8380(270W)的兩倍。當然這也主要得益於其核心數量達到了競品的兩倍。

需要指出的是,Veyron V1 並沒有 SIMD 或向量執行單元,這對上有 AVX-512 的 Intel 或AMD 的伺服器處理器會非常吃虧。

另外,Veyron V1 目前還沒有量產,之前承諾的是今年Q2或Q3向客戶提供樣品。所以,以上官方公布的資料都還是書面上的資料。

近日,國外研究人員 Nick Brown 透過 RAJAPerf 基準測試對於這款晶片進行了實測,發現其與最新的廣泛可用的 RISC-V 晶片相比,其平均每個核心的性能提高了 5 到 10 倍。但是在多執行緒工作負載下,x86 高性能 CPU 的平均性能依然達到了它的 4-8 倍。

據該研究報告顯示,該 64 核 RISC-V 處理器,運行頻率為 2 GHz,由四個高性能的 C920 核心組成,並採用了 12 級無序多問題超標量管道設計。

C920 提供 RV64GCV 指令集,具有三個解碼、四個重新命名/調度、八個發表/執行和兩個載入/儲存執行單元。支援向量化標準擴充(RVV v0.7.1),向量寬度為 128 位,支援資料類型FP16、FP32、INT8、INT16、INT32 和 INT64。然而,C920 並不支援 FP64 向量化

研究稱,雙精度浮點是絕大多數高性能工作負載的基礎,因此能夠支援向量化這些操作的核心可能會為 HPC 提供更高的性能。每個 C920 核心還包含 64KB 的 L1 指令(I)和資料(D)快取,1MB 的 L2 快取,在四個核心的叢集之間共享,64MB的L3系統快取,由叢集中的所有核心共享。還提供四個 DDR4-3200 記憶體控製器和 32 條 PCIe Gen4 通道。

HPC 工作負載的一個重要考慮因素是向量化,由於 C920 核心僅支援 RVV v0.7.1,編譯器支援是一個挑戰。RISC-V GNU 編譯器的當前上游版本不支援任何版本的向量擴充。雖然 GNU 儲存庫包含一個 rvv 下一個分支,其目的是支援 rvv v1.0,但在研究人員撰寫研究報告時,它並沒有得到積極維護。

此外,還有一個針對 rvv v0.7.1 的 rvv-0.7.1 分支,但該分支已被刪除。由於缺乏對主線 GCC 的支援,阿里平頭哥(T-Head)提供了自己的 GNU 編譯器分支(玄鐵GCC),該編譯器已針對其處理器進行了最佳化。

T-Head 的定製編譯器同時支援 RVV v0.7.1 和他們自己定製的自訂擴充。雖然已經提供了該編譯器的幾個版本,但作為其 20210618 版本的一部分,GCC8.4 提供了最佳的自動向量化能力,因此這是研究人員進行的基準測試實驗選擇的版本。

該版本的編譯器生成向量長度特定(VLS)RVV 元件,該元件專門針對 C920 的 128 位向量寬度。所有核心都在最佳化等級三進行編譯,所有報告的結果都在五次運行中取平均值。

與其他高性能 RISC-V 核心比較

研究人員比較了 SG2042 與賽昉(StarFive)開發板 VisionFive V1 和 Vision V2 的性能,V1包含賽昉 JH7100 SoC,而 V2 包含賽昉 JH7110 SoC。

JH7100 和 JH711 0這兩個 SoC 都是基於 64 位 RISC-V SiFive U74 核心建構的,JH7100包含兩個核心,JH7110 包含四個核心。SoC 被列為以 1.5GHz 運行,U74 核心包含 32KB(D)和 32KB(I)L1 快取,兩種 SoC 型號還包含核心之間共享的 2MB L2 快取。

然而,SiFive U74 僅提供 RV64GC,因此不支援 RISC-V 向量擴充。

展示了 VisionFive V2 和 V1 與 SG2042 在雙精度(FP64)和單精度(FP32)方面的單核性能比較。其中條形圖是整個類別中速度更快或更慢的平均次數,線條的範圍從最大到最小。

從上圖可以看出,單個 C920 核心在雙精度和單精度方面都優於 V2 和 V1 的 U74 核心。

在雙倍精度下,C920 核心的平均性能是 V2 中 U74 以雙倍精度執行階段的 4.3 至 6.5 倍。此外,在單精度下,C920 的性能是基準測試平均性能的 5.6 至 11.8 倍。這是一個令人印象深刻的性能提升,並且 C920 核心上沒有比 U74 運行得慢的核心。

一些核心在 C920 上的性能非常令人印象深刻,例如,來自演算法組的記憶體集基準在 FP32 中的運行速度是 U74 的 40 倍,在 FP64 中運行速度是 U74 的 18 倍。

需要強調的是,該基準測試在這些核心上都是以儘可能好的組態,即 C920 上利用了向量化,但是 U74 不支援向量化,因此在 V1 或 V2 上不可用。

SG2042 上的 FP32 和 FP64 之間存在顯著的性能差異,這表明事實上 C920 向量運算不支援FP64。相比之下,在 V2 上運行雙精度和單精度之間的性能差異要小得多。

圖 1 中結果的一個方面讓研究人員感到驚訝的是,VisionFive V1 比 V2 慢得多。考慮到測試只是在單核上運行 RAJAPerf,所以晶片的雙核和四核性質並不重要,因為它們都包含相同的 U74核心,那麼其性能應該相當相似。

但是,在雙倍精度下,V1 比 V2 慢了六倍到三倍,單精度則慢了一倍到三倍。雖然可以假設 V1 可能以比 V2 更低的時脈頻率運行,儘管它們在資料表中都被列為以 1.5GHz 運行,但機器上沒有任何檔案或輸出可以證實這一點。

從圖 1 中可以看出,與現有的、公開可用的商品 RISC-V核心相比,單個 C920 核心所獲得的性能令人印象深刻。T-Head 將該核心描述為一種高性能 RISC-V 處理器。

測試也表明,其與 U74 相比,在整個基準測試套件中的性能有了很大的提高,U74 以前被認為是廣泛可用的 RISC-V CPU 的最佳選擇,可以在其上進行 HPC 工作負載的實驗。

除了單核性能外,SG2042 在核數量方面也顯著領先於 V1 的 JH7100 和 V2 的JH7110 SoC。

與 x86 伺服器 CPU 性能比較

那麼相對於其他商用的 x86 伺服器晶片,SG2042 在 HPC 工作負載中的表現如何呢?

對此,研究人員將其與當前一代伺服器中使用的其他 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 的物理核心上執行,因為預設情況下停用了所有 SMT。

進軍伺服器的RISC-V能否與 x86一戰?

AMD EPYC 7742 在四個 NUMA 區域中包含 64 個物理核心,每個區域有 16 個核心,但有八個記憶體控製器。每個核心包含 32 KB(I)和 32 KB(D)L1 快取,512 KB 的 L2 快取,四個核心之間共享 16 MB的 L3 快取。EPYC 7742 提供支援 AVX2,具有 256 位元寬的向量暫存器,是 SG2042 的兩倍,並支援 FP64 的向量化。

Intel Xeon E5-2695 的 18 個物理核心位於一個 NUMA 區域中,提供 32 KB(I)和 32 KB(D)L1 快取,256 KB 的 L2 快取,以及 45 MB 的跨核心共享的 L3 快取。與 AMD EPYC 7742 類似,Xeon E5-2695 支援 AVX2,並且有四個記憶體控製器。

Intel Xeon 6330是比較的最新CPU,所有28個物理核心都在一個NUMA區域中,具有8個記憶體控製器,具有32KB(I)和48KB(D)L1快取,每個核心1MB L2快取,以及43MB共享L3快取。Xeon 6330支援AVX512,並提供512位元寬的向量暫存器。

Intel Xeon E5-2609屬於本次測試當中最古老的CPU,其於2012年發表,僅提供四個物理核,每個核都有64KB(I)和64KB(D)L1快取,以及256KB的L2快取和共享的10MB L3快取。該E5-2609僅支援AVX,因此向量暫存器長度與SG2042相同,為128位元,儘管AVX支援FP64。

在所有測試當中,研究人員停用了x86物理核心的超執行緒。除了ARCHER2之外,研究人員在所有系統上都使用GCC版本8.3,編譯始終在最佳化等級O3下進行。全部在性能最高的執行緒數量上執行的系統。

展示了各晶片在FP64上運行基準測試套件的單核性能。其中條形圖是整個類別中速度更快或更慢的平均次數,線條的範圍從最大到最小。SG2042為均值基線。

從測試結果來看,除了除了古老的Xeon E5-2609核心之外,所有x86核心的性能都優於C920,後者在流和演算法基準類中的平均性能較慢。

AMD EPYC 7742和Intel Xeon 6330 CPU的表現往往優於Intel Xeon E5-2695,這是可以理解的,因為Xeon E5-2695是這三款CPU中的老款。

展示了各晶片在FP32上運行基準測試套件的單核性能與基線相比的快慢次數。

從上圖可以看出,AMD EPYC 7742在單精度執行時與雙倍精度執行時相當乏善可陳,而Intel處理器的平均性能也一樣好,事實上,當使用FP32時,古老的Xeon E5-2609核心在每種等級上的平均性能都優於C920。

然而,圖5中的平均條形圖並不能提供完整的圖片。

C920僅支援FP32的向量化,事實上,從圖5和圖4中的線條可以看出,FP32的許多基準類的最大速度比FP64快。

此外,有更多運行速度最慢的核心在x86 CPU上的執行速度比FP32上的C920慢。這些核心是有效應用自動向量化的地方,事實上,可以看出,對於lcals基準類,所有x86 CPU上至少有一個核心的性能低於C920。

總結來說,在單核性能比較上,FP32下的AMD EPYC 7742平均表現要比C920快3倍,Intel Xeon E5-2695要快2倍,Intel Xeon 6330也要快4倍,Xeon E5-2609則快2倍,FP64下的這些數字則分別快4倍、4倍、5倍和20%。

FP64多執行緒性能比較,報告比基線快或慢的次數

上圖展示了針對雙精度FP64的性能比較。

可以看出,basic、lcals、polybench和stream類測試從更多的核心中受益最大,因此SG2042的平均性能優於古老的Xeon E5-2609。

FP32多執行緒性能比較,報告比基線快或慢的次數

上圖展示了FP32的多執行緒性能比較,這些結果包含最大的差異。為了提高可讀性,研究人員限制了縱軸,並標記了超過該值的實際數值。

在多執行緒FP32方面,SG2042往往比FP64在與x86 CPU的競爭中表現得略強,儘管polybench類是一個異常,因為它在三個最新的x86 CPU上的表現要好得多,而Intel Xeon E5-2609的表現則差得多。

總結來說,在SG2042多執行緒性能與x86 CPU進行比較時,在FP32和FP64上運行的所有基準類型測試中,其64核平均性能優於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方面的表現分別是其6倍和8倍。

結論

研究人員表示,儘管當前有許多公司在開發高性能RISC-V硬體原型,但到目前為止,當希望在可商用的RISC-V軟體上運行工作負載時,選擇非常有限。

不管怎樣,儘管這些解決方案能夠對RISC-V進行實驗,但它們並不能在體系結構上提供生產高性能工作負載所需的功能。因此,儘管HPC社群對RISC-V很感興趣,但它還沒有完全準備好迎接這項技術。

當然,作為世界上第一款廣泛可用的針對HPC的多核RISC-V伺服器晶片,SG2042可能會大大提高HPC社群對RISC-V的興趣和採用率。然而,一個關鍵的問題是其與當前一代超級電腦中普遍存在的x86 CPU相比依然有著較大的差距。

不過,與目前可商用的RISC-V硬體相比,這是一款非常令人興奮的RISC-V伺服器晶片,它提供了一些重大的變化。

雖然性能還沒有達到x86伺服器CPU的水準,但應該強調的是,RISC-V供應商在短時間內取得了長足的進步。相比之下,x86 CPU有著悠久的歷史,並從他們多年的開發中受益。

目前RISC-V進入伺服器CPU市場的競爭對手主要還是Arm伺服器CPU,畢竟其理論上RISC-V CPU可以擁有相比Arm CPU更低的成本、更高的定製化和可擴充性。

對於下一代高性能RISC-V處理器來說,研究人員認為,提供RVV v1.0將非常有用,因為這將提供使用用於編譯向量化程式碼的主線GCC和Clang。

此外,提供FP64向量化、更寬的向量暫存器、增加的L1快取記憶體以及每個NUMA區域更多的儲存器控製器也可能帶來顯著的性能優勢,並有助於縮小與x86高性能處理器的差距。

cnBeta
作者

cnBeta.COM(被網友簡稱為CB、cβ),官方自我定位「中文業界資訊站」,是一個提供IT相關新聞資訊、技術文章和評論的中文網站。其主要特色為遊客的匿名評論及線上互動,形成獨特的社群文化。

使用 Facebook 留言
發表回應
謹慎發言,尊重彼此。按此展開留言規則