信息基礎設施自主可控逐漸受到各國的重視,研發推廣X86 架構之外的通用CPU,例如 ARM,RISC-V,Alpha,MIPS等指令集架構,已成為推動信息產業變革發展的主要路徑之一。
近年來,采用 X86,ARM 等不同指令集架構,常用于服務器和桌面計算的異構通用CPU加速迭代升級,不同架構CPU在功耗、適用場景等方面各有優勢。但主流CPU性能測試工具與方法主要圍繞 X86 架構芯片設計,如何對異構通用 CPU 的質量水平進行科學評價,成為引導技術突破、支撐重大信息化工程建設和促進行業發展的關鍵。
本文從測試目標、測試方法的角度綜述了 CPU 基準測試的發展現狀和趨勢,并對測試工具的演進和最新成果進行對比分析,旨在為研究者提供一個覆蓋 SPEC、TPC 等多類性能基準測試工具和多線程、跨平臺等各類場景,以及包含速度和速率性能指標分類、基于預置模型的測試結果修正等創新方法的說明,增加相關人員對通用 CPU 性能基準測試研究的理解。
一、常用的性能基準測試
1、SPEC基準測試
SPEC 性能基準測試于 1988 年由標準性能評估機構SPEC 提出,目前已發展成為包含 CPU 性能、服務器能效、文件系統性能、高性能計算、Web 應用性能等在內的基準測試簇。其中 SPEC CPU系列基準是公認的、具有事實性影響力的CPU性能基準測試標準,通過測試程序在被測系統和基準系統中執行時間的比值來考察系統CPU運算性能。
多年來,SPEC CPU性能基準測試與CPU的發展相互促進,基準測試程序不斷演進升級,CPU技術和產業應用也加速創新發展。
SPEC CPU 92通過調整測試基準來應對行業需求,迅速取代MIPS度量,成為產業界公認的事實標準,也驅動各界在提升整型運算和浮點型運算的同時,積極尋求新的CPU技術突破方向.隨著技術的創新迭代,CPU時鐘頻率加速攀升,高速緩存容量持續增大、性能不斷提高,也使得SPEC CPU 92的性能測試受到較大的影響。
為進一步提升測試準確性,業界推出了SPEC CPU 95,在應對新的容量、性能測試需求時,提供了更全面的場景來豐富CPU性能測試能力,引導技術創新由局限于關注裸性能向注重實際場景應用效果轉變。SPEC CPU 2000延續了SPEC CPU 95由兩套基準測試程序分別測試CPU整型運算性能和浮點運算性能模式。同時,為更好地應對不斷普及的多核處理器計算系統測試需求,保證測試結果的科學性和合理性。
為了滿足更多場景的測試要求,SPEC再次對測試基準進行完善,推出了SPEC CPU 2006. SPEC CPU 2006新增的測試套件涵蓋到CPU、存儲系統、編譯器等。
經過10年的沉淀,在SPEC CPU 2006的基礎上推出的SPEC CPU 2017,進一步豐富應用場景,具體包含43個基準,分為兩類四個套件.其中,SPEC speedInteger和SPEC speed Floating Point套件用于比較計算機完成單個任務的時間,SPEC rate Integer和SPEC rateFloating Point套件則可以測量每單位時間內的吞吐量或工作量。這也是第一次對速率(rate)和速度(speed)進行區分,以有效滿足復雜場景下對性能基準測試的穩定性提出更高要求,進而指導CPU發展。
2、TPC基準測試
不同于SPEC從最初關注裸性能不斷拓展到系統性能,TPC性能基準測試在設計之初就將系統級應用的綜合性能測評作為關注的重點。
用于度量系統對該類事務處理性能的主要測試基準包括TP1(Transaction Process 1)和DebitCredit。該類測試基準由于缺少對測試執行過程和綜合測評結果的有效監督,易出現測試過程不規范,甚至給出誤導性測試結果的情況。20世紀80年代末,第一個TPC基準TPC-A發布,對事務處理時限、測試系統終端數量等提出明確要求,澄清了當時混亂的市場,為推動CPU的系統級性能測試提供了重要依據。
經過持續迭代升級,TPC已發展成為能夠滿足多種應用場景性能測試需求的基準測試簇,根據測試場景和測試事務的不同,可將 TPC性能基準測試分為三類:
聯機在線事務處理系統(OLTP)測試,包括TPC-C,TPCE;決策支持和大數據(DS)測試,包括 TPC-H,TPC-DS;服務器虛擬化(VMS)測試,包括TPC-VMS. 其中,TPC-C性能基準測試通過模擬較復雜且具有代表意義的OLTP應用環境,來衡量聯機事務處理系統性能與可伸縮性。TPC-E 則在 TPC-C 的基礎上,對傳統的 C/S 架構模擬環境進行了完善,從而實現對當時日益盛行的B/S架構系統的高效評價,為引導產業提升大規模并發處理能力提供了重要依據。
TPC-H提供了一套決策支持系統的性能基準測試依據,強調服務器在數據挖掘、分析處理方面的能力。TPC-DS 則補充了單用戶響應時間、多用戶吞吐量等測試,對測試基準的數據模型、業務模型和執行模式進行了完善。TPC-VMS的目標是模擬服務器虛擬化環境,并實現對 TPC-C,TPC-E,TPC-H,TPC-DS的綜合測試,從而推動CPU圍繞應用日益廣泛的云計算模式不斷提升性能。
二、其他性能基準測試
在 CPU 性能基準測試的不同發展時期,學術界和產業界也提出了一系列有關的性能基準測試方法,針對跨平臺、內存共享、多線程等多種場景進行測試。
Geekbench 是近年來受關注較多的一種跨平臺CPU 性能基準測試,其主要方式是通過構建多維評分系統,將單核、多核性能與模擬真實場景的工作負載分隔開。該性能基準測試適用于 Windows、Linux、macOS等多種操作系統下的測試。
Kozhirbayev 等人在利用Geekbench對單核和多核下的整形計算性能、浮點計算性能和存儲性能的基準測試中,獲得了很好的對比參考效果。Polvinen等人在實驗過程中,采用Geek?bench快速、準確地度量了處理器在向量點乘、矩陣 LU分解等場景中的性能.
此外,Splash,PARSEC Benchmark,LINPACK Bench-mark,MiBench,NAS Parallel Benchmark,CPU-Z 等也常用于計算實驗或實際應用中的性能基準測試,來展示和對比CPU的各項性能。
三、性能基準測試的對比分析
為直觀地展示本文所述通用測試基準的測試重點,各類性能基準測試及相關工具的支持語言、編譯程序、適配系統、支持的CPU架構及測試側重點信息。
表1中各類工具支持語言、編譯程序、適配系統、支持的 CPU 架構均具有一定的差異性。特別是基于不同的測試目標,各類工具的重點測試內容各異,不僅涉及運算能力、內存性能、內存帶寬等重要指標,而且與聯機業務處理、數據挖掘、并行計算等各類綜合應用場景相關。
隨著CPU性能測試維度的增加,CPU裸性能以及單一場景下的基準測試,難以全面反映 CPU 的綜合性能,因此,多種基準測試工具的配合測試,已成為通用CPU性能基準測試行業共識。
在穩定性方面,選取常用的性能基準測試工具——SPEC CPU和UnixBench,通過對實際應用情況的分析和梳理,為通用CPU性能基準的深入研究提供參考。
測試工具 SPEC CPU 的重要參數包含緩存缺失率(cache-misses)、分支指令預測錯誤率(branch-misses)和地址塊表緩存缺失率(dTLB-load-misses)等,相關指標越大,表明 CPU 的測試強度越高。SPEC CPU 測試工具的三個版本分別發布于 2000年、2006年和 2017年。從2000年至2017年的17年間,商業通用CPU的性能至少增長了 10 倍 . SPEC CPU2000 /2006/2017 三個版本演進過程中,工具開發人員希望通過加大數據集等手段,提高對通用 CPU 的測試壓力,獲取更準確的性能評測結果。
本文首先對當前國際主流的CPU基準測試現狀進行了綜述,并對各類測試基準和工具的功能、算法、應用場景等方面的迭代升級和最新成果進行了分析;然后對當前通用CPU性能指標和基準測試需求進行了梳理,并分析了通用CPU性能基準測試所面臨的挑戰。
目前,CPU性能基準測試工具和算法較早期已取得了較大的進步,滿足的測試場景不斷豐富,測試精度也有了明顯提升,但在適用性、性能優化等方面依然有較大的提升空間。
審核編輯:劉清
-
存儲器
+關注
關注
38文章
7366瀏覽量
163092 -
芯片設計
+關注
關注
15文章
980瀏覽量
54620 -
多核處理器
+關注
關注
0文章
109瀏覽量
19846 -
MIPS處理器
+關注
關注
0文章
13瀏覽量
8270 -
VMs
+關注
關注
0文章
5瀏覽量
5204
原文標題:通用CPU性能基準測試研究綜述(2023)
文章出處:【微信號:架構師技術聯盟,微信公眾號:架構師技術聯盟】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論