2016年10月27日至28日,SPEC(Standard Performance Evaluation Corporation,標(biāo)準(zhǔn)性能評估組織)于北京舉辦了SPEC 2016亞洲峰會,這也是SPEC組織自1988年成立以來首次在中國舉辦的峰會。
在上一篇文章中我們可以知道,SPEC是一個非營利性的第三方組織,旨在制定、修改以及認(rèn)證一系列計算系統(tǒng)應(yīng)用性能評估的標(biāo)準(zhǔn)。SPEC制作的這些基準(zhǔn)測試以及性能指標(biāo)可以廣泛適用并真實反映出客戶的實際計算環(huán)境。
計算效率:同時考慮性能與功耗
本次峰會的口號是“發(fā)現(xiàn)真實的計算效率”,為此,SPEC組織安排了數(shù)場相關(guān)的主題演講,不過,一個首先需要清楚的是,“計算效率”是指什么?從字面上看,顯然并不是單純的“計算性能”,它應(yīng)該“性能”與某一個“成本參數(shù)”的比值,盡管實際上沒有這么簡單。
成本參數(shù)的選擇有很多,如最簡單的,購買成本,以及復(fù)雜一些的:運維成本,乃至總體擁有成本(TCO),不過,從測試的角度來看,價格不太好量化,從可以測量的參數(shù)當(dāng)中選擇的話,這個“成本”很大程度上應(yīng)該是“能耗”。
能耗是長時間運行的一個重要成本之一,并且,能耗和很多其它的因素掛鉤,譬如說,環(huán)保。例如,在文章中有所介紹,中國是世界上的能源消耗大國,主要能源就是來自于煤炭(大約75%),中國的發(fā)電站大部分都是使用煤炭的火力發(fā)電站,極大部分的SO2排放和CO2排放都由煤電產(chǎn)生,額外產(chǎn)生的副產(chǎn)品還有“霧霾”。對于IT行業(yè)而言,單獨服務(wù)器,統(tǒng)計顯示2015年中國服務(wù)器總銷量236萬臺,保有量超過700萬臺,這些服務(wù)器每年電量消耗相當(dāng)于半個三峽電站的發(fā)電量。降低服務(wù)器的能耗對環(huán)保有著正向的動力。
從數(shù)據(jù)中心內(nèi)部來說,降低服務(wù)器的能耗同時還可以降低整體的散熱和供電負(fù)擔(dān),從而會進(jìn)一步降低整體的能耗。因此,本次峰會中,計算的效率指的就是“性能功耗比”。
計算效率的測試
要了解計算設(shè)備——也就是服務(wù)器——的計算效率,就要了解它的性能以及能耗,這需要相應(yīng)的測試方法和工具,SPEC很早以前就開始關(guān)注能耗方面的測試,并在2006年的早期成立了SPECpower工作組,目標(biāo)就是在于研究和開發(fā)可用的能源效率基準(zhǔn)測試工具。在2006年,正是Intel的Pentium 4火爐CPU大行其時的時候,也是Ecos Consulting(現(xiàn)在的Ecova)推出80Plus電源效率認(rèn)證的第二年。在2005年業(yè)內(nèi)就已經(jīng)認(rèn)識到了能源效率的重要性,并開始反思單純追求性能是否正確,最開始的就是2005年Google首席工程師Luiz André Barroso在美國計算機(jī)學(xué)刊上發(fā)表的《The Price of Performance: An Economic Case for Chip Multiprocessing》(性能的代價:一個芯片多處理的經(jīng)濟(jì)性案例),隨后Sun Microsystem推出了業(yè)內(nèi)的第一與能源效率有關(guān)的指標(biāo)體系:SWaP (space, wattage and performance) 。簡單地說,就是同時考慮空間、功率與性能,計算公式也很簡單:SWaP = Performance/ (Space x Power)。
但更多的廠商缺乏建立這樣的指標(biāo)體系的能力,并且,就算是直接使用SWaP指標(biāo)體系,也仍然需要工具去進(jìn)行測試以獲得實際的參數(shù),大部分的廠商也沒有建立這樣的基準(zhǔn)測試的能力,這需要由一個強有力的組織來完成。
2007年12月,SPECpower委員會推出了業(yè)內(nèi)第一個能源效率方面的基準(zhǔn)測試套件:SPECpower_ssj2008,這是一個里程碑式的產(chǎn)品,參與的業(yè)界廠商有AMD, Dell, Fujitsu-Simens, HP, Intel, IBM和Sun Microsystems,另外還有加州伯克利分校、美國勞倫斯-伯克利國家實驗室和弗吉尼亞工學(xué)院等學(xué)術(shù)機(jī)構(gòu)的參與以及美國環(huán)??偸鸷湍茉词褂眯蕝f(xié)會的贊助。
SPECpower大概是當(dāng)時SPEC最復(fù)雜的測試項目,首先,它是一個與工作負(fù)載無關(guān)的能源效率測試框架,作為SPECpower當(dāng)中的第一個產(chǎn)品,SPECpower_ssj2008是以JAVA應(yīng)用為工作負(fù)載的,實際上,SPECpower_ssj2008運行的是一個修改版的SPECjbb2005工作負(fù)載(SPECjbb2005是一個SPEC推出的JAVA性能基準(zhǔn)測試套件)。不管怎么樣,屬于SPECpower框架下的套件——現(xiàn)有的SPECpower_ssj2008或者將來其他的套件,都需要同時測試兩個指標(biāo):功耗以及性能。
不過,SPECpower_ssj2008的測試結(jié)果并不是簡單的性能除以功耗。SPECpower_ssj2008的測試方式是以測試服務(wù)器最大的workload為100%指標(biāo),以10% workload劃分一個區(qū)域段——從100%到0%一共11個坐標(biāo),然后分別對比在每個不同的workload區(qū)域段之內(nèi)的能耗??偟膩碚f,在測試過程中既與性能有關(guān),又與功耗有關(guān),但最終的結(jié)果展示的是測試服務(wù)器的計算效率。
SPECpower_ssj2008展示了一個SPECpower框架的成功,但測試本身目前被限制為JAVA應(yīng)用負(fù)載,盡管JAVA應(yīng)用在服務(wù)器領(lǐng)域很流行,但桌面以及工作站領(lǐng)域缺乏相關(guān)的應(yīng)用。SPECpower委員會后來又開發(fā)了SERT(Server Efficiency Rating Tool,服務(wù)器效率評級工具)。
SERT其實是應(yīng)US EPA(Environmental Protection Agency,環(huán)境保護(hù)署)的請求而開發(fā),US EPA最為有名的一個認(rèn)證就是ENERGY STAR能源之星。在第一代能源之星的成功之后,EPA計劃開發(fā)第二代的能源之星,將效率評級擴(kuò)展到服務(wù)器領(lǐng)域。但EPA在此前更多的是于計算機(jī)電源以及顯示器方面的認(rèn)證,其缺乏評估計算機(jī)整體能源效率的方法,以及開發(fā)這樣的基準(zhǔn)測試的能力。
SERT(Server Efficiency Rating Tool,服務(wù)器效率評級工具)
SPEC開發(fā)的SERT在2013年正式發(fā)布,它由數(shù)十個被稱為worklet的負(fù)載組件組成,并在運行時分別對服務(wù)器的CPU、內(nèi)存、存儲組件進(jìn)行測試??梢钥吹降氖?,SERT中復(fù)用了在SPECpower_ssj2008當(dāng)中出現(xiàn)的SPEC PTDaemon,區(qū)別在于,SERT的負(fù)載為常規(guī)的服務(wù)器進(jìn)行了設(shè)計。值得一提的是,基于EPA的要求,SERT的運行比較方便,并具有一個簡單的GUI圖形界面。