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