張平
《微型計(jì)算機(jī)》的讀者應(yīng)該對(duì)各種各樣的評(píng)測(cè)很熟悉了。在對(duì)新產(chǎn)品進(jìn)行評(píng)測(cè)時(shí),一般分為兩個(gè)角度,主觀與客觀。主觀角度的測(cè)試自然不用多說,這類測(cè)試主要包括外觀、設(shè)計(jì)、易用性、顏色和流行趨勢(shì)等這些難以量化的內(nèi)容??陀^角度的測(cè)試則要復(fù)雜一些,它指的是使用一種方法或者一種模式對(duì)測(cè)試目標(biāo)進(jìn)行操作,從而得出一個(gè)可以在相同的環(huán)境和條件下可復(fù)制的結(jié)果的過程。換句話來說,客觀測(cè)試主要是指利用各種測(cè)試軟件或者測(cè)試工具、測(cè)試環(huán)境運(yùn)行統(tǒng)一的測(cè)試,得到測(cè)試目標(biāo)的運(yùn)行結(jié)果的過程。僅僅看測(cè)試軟件的話,S P E C旗下的測(cè)試軟件雖然出鏡較少,但是其較高的專業(yè)性和比較均衡、公平的設(shè)置,一直是很多專業(yè)媒體的最愛。那么,SPEC是什么,包含哪些測(cè)試,又應(yīng)該如何解讀SPEC的測(cè)試結(jié)果,尤其是CPU測(cè)試結(jié)果呢?
標(biāo)準(zhǔn)性能評(píng)估公司:五大評(píng)測(cè)架構(gòu)
S P E C 的全稱是S t a n d a r dPerformance Evaluation Corporation,也就是標(biāo)準(zhǔn)性能評(píng)估公司,這個(gè)公司成立于1988年,其主要目的是為市場提供現(xiàn)實(shí)且標(biāo)準(zhǔn)化的測(cè)試數(shù)據(jù)。在30多年后,SPEC已經(jīng)發(fā)展成擁有60多家成員公司、業(yè)內(nèi)影響力巨大的性能標(biāo)準(zhǔn)化機(jī)構(gòu)之一。
SPEC的發(fā)展理念是確保市場上擁有一套公平、有效的指標(biāo)來區(qū)分不同的候選系統(tǒng),并且試圖在候選產(chǎn)品的獨(dú)特優(yōu)勢(shì)和嚴(yán)格遵守標(biāo)準(zhǔn)之間取得平衡。S P E C宣稱一個(gè)能夠被合理利用得好的測(cè)試將促進(jìn)市場的發(fā)展。鑒于此,SPEC提供了一整套基于現(xiàn)有測(cè)試程序的標(biāo)準(zhǔn)化源代碼,這使得基準(zhǔn)測(cè)試人員可以使用S PEC的源代碼調(diào)整系統(tǒng)的性能,以獲得最佳測(cè)試結(jié)果,也減少了市場上存在的完全不可類比的問題。
在組織架構(gòu)方面,SPEC被定義為一個(gè)非營利性機(jī)構(gòu),它的成員資格對(duì)任何愿意支持其目標(biāo)的公司或者組織開放,由于SPEC的運(yùn)營也需要經(jīng)費(fèi),因此成為SPEC的成員也就意味著需要交納一定的入會(huì)費(fèi)用。目前,根據(jù)測(cè)試目的的不同,SPEC擁有5個(gè)下屬機(jī)構(gòu),分別是:
1.開放系統(tǒng)組織(T h e O p e nSystems Group,簡稱OSG)
該組織來自最早的S P E C委員會(huì)。OSG所針對(duì)的是運(yùn)行開放系統(tǒng)環(huán)境的桌面系統(tǒng)、高端服務(wù)器或者高端工作站的基準(zhǔn)測(cè)試,這個(gè)部分的測(cè)試也是我們目前接觸最多的。OSG在應(yīng)用中還細(xì)分為下列幾個(gè)部分:
云計(jì)算測(cè)試:包括云計(jì)算基礎(chǔ)設(shè)施、應(yīng)用情況和新興技術(shù)相關(guān)領(lǐng)域的工業(yè)標(biāo)準(zhǔn)基礎(chǔ)測(cè)試等。
CPU測(cè)試:包括傳統(tǒng)的SPECmarks以及其他的相關(guān)CPU測(cè)試。
JAVA測(cè)試:包括Java客戶端和服務(wù)器基準(zhǔn)測(cè)試JVM98、JVM2008、JBB2000和JBB2005,SPECjAppServer和SPECjEnterprise Java企業(yè)應(yīng)用服務(wù)器基準(zhǔn),以及SPECjms2007測(cè)試等。
功耗測(cè)試:主要用于針對(duì)服務(wù)器級(jí)的計(jì)算設(shè)備的功率和性能的測(cè)試,SPEC在2007年就推出SPECpower_ssj2008,對(duì)CPU、緩存、內(nèi)存層次結(jié)構(gòu)以及共享內(nèi)存的處理器在多個(gè)負(fù)載級(jí)別上的可擴(kuò)展性進(jìn)行了測(cè)試。新的SERT套件的工作大約從2009年開始,首先是Chauffeur框架的突破性設(shè)計(jì),然后是工作負(fù)載的設(shè)計(jì)和實(shí)施、硬件和軟件的自動(dòng)發(fā)現(xiàn),以及GUI。在進(jìn)行這些工作的同時(shí),SPECpower委員會(huì)與更注重學(xué)術(shù)的SPEC Power研究工作組合作,進(jìn)行了大規(guī)模的實(shí)驗(yàn),以確定SERT套件2.0的服務(wù)器效率指標(biāo),并最終在2017年發(fā)布。
存儲(chǔ)測(cè)試:包括NFS基準(zhǔn)SFS93(L A D D I S)、S F S97、S F S 97_ R1和SFS2008、SPEC SFS2014和SPECstorageSolution 2020等測(cè)試,主要也是不同場合的存儲(chǔ)應(yīng)用的性能。
虛擬化測(cè)試:這是第一代用于比較數(shù)據(jù)中心服務(wù)器虛擬化性能的S P ECv ir t_s c2010,以及其后續(xù)的SPECvirt_sc2013。
2.國際標(biāo)準(zhǔn)小組( T h eInternational Standards Group,簡稱ISG),其工作是負(fù)責(zé)監(jiān)督標(biāo)準(zhǔn)化基準(zhǔn)的研究并將其應(yīng)用在政府法規(guī)和計(jì)劃中,同時(shí)促使國際標(biāo)準(zhǔn)化的發(fā)展。
3.高性能小組(T h e H i g h -Performance Group 、簡稱HPG),主要面向高性能計(jì)算領(lǐng)域的標(biāo)準(zhǔn)化的、跨平臺(tái)的性能評(píng)估。
4.圖形和工作站性能小組(TheGraphics and Workstation PerformanceG roup,簡稱為GW PG),這個(gè)小組主要是針對(duì)圖形和工作站的性能基準(zhǔn)和報(bào)告程序進(jìn)行研發(fā)。它于1994年就推出標(biāo)準(zhǔn)化基準(zhǔn)測(cè)試,目前包括應(yīng)用性能測(cè)試、圖形性能測(cè)試和工作站性能表征三個(gè)模塊,不過GWPG的測(cè)試比較老舊,目前不多見。
5.研究小組(SPEC Research Group,簡稱RG),這個(gè)小主要是促進(jìn)對(duì)基準(zhǔn)測(cè)試方法和工具的創(chuàng)新研究等。
基于上述5個(gè)下屬機(jī)構(gòu),SPEC推出了16款測(cè)試軟件或工具,涵蓋了CPU、GPU、HPC、Java、功率、開發(fā)和結(jié)果分析等不同的用途。今天,我們重點(diǎn)來看一下目前CPU方面最新的測(cè)試軟件SPEC CPU 2017。
SPEC CPU 2017:面向?qū)I(yè)領(lǐng)域的計(jì)算密集型測(cè)試
SPEC CPU包含多個(gè)版本,比如SPEC CPU 2017以及較早的SPEC CPU2000、SPEC CPU 89、SPEC CPU 92等等。目前依舊在使用的是SPEC CPU 2017,其發(fā)布于2017年,雖然看起來比較早,但是在CPU架構(gòu)和應(yīng)用場景沒有發(fā)生巨大變化之前,一個(gè)設(shè)計(jì)出色、運(yùn)行穩(wěn)定且能很好地表現(xiàn)出絕大部分硬件性能的測(cè)試軟件依舊是值得信賴的。鑒于此,本文就重點(diǎn)來看看這個(gè)版本的測(cè)試內(nèi)容。
綜述:SPEC CPU 2017的基本內(nèi)容
SPEC CPU 2017是一個(gè)工業(yè)標(biāo)準(zhǔn)化、C PU密集型的測(cè)試軟件,用于測(cè)量和比較計(jì)算密集型應(yīng)用的性能,尤其強(qiáng)調(diào)處理器、內(nèi)存子系統(tǒng)和編譯器的性能等。其中,內(nèi)存子系統(tǒng)指的是緩存、主內(nèi)存等。編譯器性能則指的是C、C++、Fortran等編譯器的性能,包括優(yōu)化器等。至于網(wǎng)絡(luò)、圖形、Java、IO系統(tǒng)等,SPEC CPU 2017并不關(guān)注,但是這部分設(shè)置也有可能對(duì)SPECCPU 2017最終性能產(chǎn)生影響。
SPEC CPU 2017測(cè)試的目的是希望能夠在廣泛的實(shí)際硬件范圍內(nèi)提供計(jì)算密集型設(shè)備的性能比較,因此其工作負(fù)載全部來自用戶的實(shí)際應(yīng)用。測(cè)試是以源代碼方式提供的,因此在執(zhí)行層面需要使用編譯器命令,通過shell或者命令提示窗口才能夠運(yùn)行。此外,SPEC CPU 2017還包含了一個(gè)可以用于測(cè)量能耗的可選指標(biāo)。
SPEC CPU 2017包含了4個(gè)板塊和總計(jì)43個(gè)基準(zhǔn)測(cè)試。具體來看,包含SPECspeed 2017整數(shù)、SPECspeed 2017浮點(diǎn)以及SPECrate 2017整數(shù)、SPECrate2017浮點(diǎn)4個(gè)部分。其中SPECspeed是用于比較計(jì)算機(jī)完成單一任務(wù)的時(shí)間,因此使用了“speed”也就是“速度”作為副標(biāo)題,后兩者SPECrate是用于比較計(jì)算機(jī)在單位時(shí)間內(nèi)的吞吐量,因此采用的是“rate”也就是“速率”。一般來說,速度型測(cè)試對(duì)CPU內(nèi)部的流程和執(zhí)行部分更為敏感,但是可能無法很好地表現(xiàn)CPU在面臨較大的計(jì)算負(fù)荷或者內(nèi)存子系統(tǒng)相關(guān)的性能。相反,速率型測(cè)試能夠很好地將壓力傳遞給內(nèi)存子系統(tǒng)以及CPU吞吐能力,這對(duì)很多高性能計(jì)算是至關(guān)重要的。
準(zhǔn)備:運(yùn)行SPEC CPU2017的前置條件
如果你購買了SPEC CPU 2017,那么就會(huì)獲得一個(gè)I SO文件,其中包含基準(zhǔn)測(cè)試的源代碼、數(shù)據(jù)集,一些對(duì)基準(zhǔn)測(cè)試進(jìn)行編譯、運(yùn)行、驗(yàn)證和報(bào)告的工具,用于各種操作系統(tǒng)的預(yù)編譯工具以及SPEC CPU 2017工具的源代碼,可以編譯未覆蓋的操作系統(tǒng),另外還包括SPEC CPU 2017的相關(guān)運(yùn)行說明、報(bào)告規(guī)則等。
如果要運(yùn)行SPEC CPU 2017,在硬件方面首先需要一臺(tái)可以運(yùn)行Linux、Mac OS X、Unix或者Windows的計(jì)算機(jī)。在硬件配置方面,SPEC CPU 2017需要1GB~2GB的主內(nèi)存或者16GB的運(yùn)行空間,磁盤方面建議保留250GB,最低需要10GB。另外還包括支持C、C++或者Fortran的編譯器或者預(yù)編譯的文件等。
對(duì)操作人員而言,和3D M a r k、PCMark這類面向玩家的測(cè)試軟件不同的是,由于SPEC CPU 2017不提供可執(zhí)行文件,因此要求用戶具備基本的代碼基礎(chǔ),比如一些基本的C M D指令,打開磁盤、定位文件、運(yùn)行文件等。另外,用戶還需要會(huì)使用命令行對(duì)部分運(yùn)行參數(shù)進(jìn)行調(diào)整和控制。在初期的測(cè)試文件配置完成后,用戶可以通過一些測(cè)試命令來測(cè)試自己的配置是否正確等。
由于SPEC CPU 2017的設(shè)置和測(cè)試比較復(fù)雜,因此SPEC組織提供了非常詳盡的測(cè)試前準(zhǔn)備文檔,有興趣的讀者可以在SPEC的官網(wǎng)查找閱讀,本文就不再贅述了。
測(cè)試:SPEC CPU 2017包含的測(cè)試內(nèi)容
前文我們?cè)岬?,SPEC CPU 2017包含了4個(gè)板塊的測(cè)試內(nèi)容,在這里我們進(jìn)一步解讀這些測(cè)試分別指代哪些性能。
從上述測(cè)試內(nèi)容表可以看出,SPEC CPU 2017的測(cè)試內(nèi)容是包羅萬象、非常豐富的。在SPEC的官網(wǎng)上,我們可以查到每一個(gè)測(cè)試內(nèi)容的源代碼、編寫人員和聯(lián)系方式、計(jì)算思路、可以執(zhí)行、輸入和輸出的說明等。舉例來說,508.namd_r這個(gè)測(cè)試的源代碼來自伊利諾伊大學(xué)香檳分校的吉姆·菲利普斯,這個(gè)測(cè)試基準(zhǔn)來自NAM D的數(shù)據(jù)布局和內(nèi)循環(huán),而NAMD是用于大型生物分子系統(tǒng)模擬的并行程序。因此這是使用在實(shí)際應(yīng)用中的軟件代碼,利用其來測(cè)試CPU能夠很好地反映CPU在實(shí)際應(yīng)用中的情況。此外還有來自一些國外政府機(jī)構(gòu)比如美國大氣研究中心、美國海軍研究實(shí)驗(yàn)室等提供的算法和代碼,比如用于天氣預(yù)報(bào)和大氣模擬的計(jì)算代碼以及模擬爆炸、模擬海洋、3D渲染和動(dòng)畫的代碼等,都相當(dāng)實(shí)用。
SPEC CPU 2017的測(cè)試內(nèi)容除了來自實(shí)際工作,很接地氣之外,還在一定程度上反映出C P U在內(nèi)部架構(gòu)方面的改進(jìn)情況。比如整數(shù)測(cè)試部分的500.p erlbenc h_r和502.gcc_r測(cè)試涉及指令解釋,因此可以考察CPU架構(gòu)的IPC以及OP-Cache的性能。520.omnetpp_r測(cè)試內(nèi)容是離散事件模擬,可以用來考查C P U的I P C提升尤其是內(nèi)存方面的性能提升。523.xalancbmk_r則可能和帶寬、延遲等內(nèi)容相關(guān)。525.x264_r則是IPC、內(nèi)存帶寬和整體執(zhí)行能力。幾個(gè)人工智能相關(guān)的測(cè)試和處理器的IPC、分支預(yù)測(cè)存在相關(guān)性等。557.xz_r這類通用數(shù)據(jù)壓縮測(cè)試則和處理器的IPC、內(nèi)存設(shè)計(jì)以及吞吐能力相關(guān)。在浮點(diǎn)部分,所有的測(cè)試都和CPU的浮點(diǎn)計(jì)算能力相關(guān),并且503.bwaves_r可能也涉及到處理器存儲(chǔ)相關(guān)的性能。508.namd_r和538.imagick_r涉及有關(guān)IPC性能的提升。519.lbm_r、549.fotonik3d_r和554.roms_r則和內(nèi)存帶寬有一定關(guān)系,部分測(cè)試內(nèi)容要求CPU能夠?qū)彺鎸?shí)現(xiàn)充分的高效率的應(yīng)用,因此其結(jié)果也能夠在一定程度上反映處理器的緩存性能。
對(duì)普通用戶來說,SPEC CPU 2017的測(cè)試內(nèi)容雖然看起來沒有PCMark和3DMark這類合成類測(cè)試通俗易懂,但是C P U并不是針對(duì)某一個(gè)用戶設(shè)計(jì)的CPU,我們?nèi)粘K械膭?dòng)作在CPU內(nèi)部最終都會(huì)被分解成各類基本操作,比如數(shù)據(jù)移動(dòng)、乘加計(jì)算或者解碼、回寫等,因此最終運(yùn)行SPEC CPU2017更快的處理器,在各類我們常常接觸到的合成類測(cè)試中依舊會(huì)有更好的表現(xiàn)。SPEC CPU 2017還可以去考察到底是哪一個(gè)測(cè)試帶來了更好的性能表現(xiàn),CPU的那一部分需要加強(qiáng),是否可以通過編譯器帶來更好的性能等。對(duì)專業(yè)人員來說,這有著相當(dāng)重要的意義。
結(jié)果:SPEC CPU 2017的結(jié)果解讀
SPEC CPU 2017的測(cè)試結(jié)果包含基準(zhǔn)和峰值兩種類型。前者是使用SPEC CPU 2017所給定的語言并且以相同的編譯方式所得出的結(jié)果,所有測(cè)試結(jié)果都需要包含基準(zhǔn)結(jié)果,這相當(dāng)于是一個(gè)標(biāo)準(zhǔn)化的普遍適應(yīng)的結(jié)果。另外SPEC CPU 2017還允許廠商通過優(yōu)化得到峰值數(shù)據(jù),廠商可以通過編譯器、軟件方面的操作,來獲得相比基準(zhǔn)測(cè)試更高的性能,并展示給用戶以體現(xiàn)自己產(chǎn)品的潛力。
SPEC CPU 2017的所有測(cè)試結(jié)果都公布在https://www.spec.org/cpu2017/results上。截至2021年5月底,一共有624個(gè)系統(tǒng)上傳了SPEC CPU 2017的測(cè)試成績,包括戴爾、華碩、富士通、惠普、聯(lián)想等企業(yè)。測(cè)試成績包含了所有系統(tǒng)的總成績分?jǐn)?shù)以及以額外鏈接形式提供的系統(tǒng)配置、測(cè)試分?jǐn)?shù)細(xì)節(jié)等內(nèi)容。對(duì)用戶來說,如果要了解某款處理器的性能,也可以在SPEC官網(wǎng)查詢相關(guān)測(cè)試結(jié)果。除了SPEC外,一些IT媒體也會(huì)使用SPECCPU2017進(jìn)行測(cè)試并將所有的測(cè)試數(shù)據(jù)存檔列表在網(wǎng)站上,比如anandtech等網(wǎng)站,用戶也可以自行搜索對(duì)比。
值得一提的是,由于英特爾、AMD、高通等廠商偶爾會(huì)在新品發(fā)布前對(duì)產(chǎn)品進(jìn)行SPEC CPU 2017測(cè)試,因此之前曾發(fā)生過未發(fā)布的新品數(shù)據(jù)和信息被上傳至SPEC網(wǎng)站的情況,因此SPEC CPU 2017的結(jié)果網(wǎng)站偶爾會(huì)成為新聞爆料的來源。
SPEC CPU 2017:專業(yè)而可靠
不難看出,SPEC CPU 2017測(cè)試相當(dāng)可靠,尤其它的測(cè)試內(nèi)容來自實(shí)際工作中使用的代碼,最終表現(xiàn)出來的性能也和處理器架構(gòu)設(shè)計(jì)存在一定的相關(guān)性,這也反映了SPEC CPU 2017在設(shè)計(jì)上的優(yōu)勢(shì)。和其他測(cè)試軟件相比,SPEC CPU 2017的弱勢(shì)在于使用麻煩、價(jià)格較貴,并且成績解讀和分析需要較多知識(shí)儲(chǔ)備。當(dāng)然,作為一個(gè)面向?qū)I(yè)用戶的測(cè)試軟件,SPEC CPU2017自然也不會(huì)像3DMark、PCMark那樣太多考慮用戶的感受。不過,我們還是希望SPEC CPU 2017能夠在未來的版本中增加易用性,尤其是加快版本更新速度,畢竟目前的處理器和半導(dǎo)體產(chǎn)業(yè)發(fā)展還是相當(dāng)迅速的,在AI計(jì)算、浮點(diǎn)計(jì)算方面不斷有新的指令集和技術(shù)提出,SPEC也需要進(jìn)一步緊跟時(shí)代。在今后,MC也會(huì)不定期地對(duì)各種評(píng)測(cè)中所使用到的,有意思的測(cè)試軟件進(jìn)行類似介紹,幫助讀者更好地了解數(shù)據(jù)背后的故事與意義。