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