之后,Benchmark的內(nèi)涵和范疇在不斷演變,時(shí)至今日,已經(jīng)形成了非常豐富、全面的企業(yè)計(jì)算平臺(tái)基準(zhǔn)測(cè)試體系。

天地之間,一切皆可度量。

隨著B(niǎo)enchmark在用戶端認(rèn)知度不斷提升,無(wú)論是成百上千臺(tái)服務(wù)器喧鬧運(yùn)轉(zhuǎn)的大中型數(shù)據(jù)中心,還是只有幾臺(tái)服務(wù)器安靜閃動(dòng)的小機(jī)房,量化評(píng)價(jià)服務(wù)器系統(tǒng)的理性光芒在閃耀。
服務(wù)器的采購(gòu),正在進(jìn)入理性時(shí)代。

用戶總希望有一種簡(jiǎn)單、高效的度量標(biāo)準(zhǔn),來(lái)量化評(píng)價(jià)服務(wù)器系統(tǒng),以便作為選型的依據(jù)。但實(shí)際上,服務(wù)器的系統(tǒng)性能很難用一兩種指標(biāo)來(lái)衡量。

最理想的評(píng)估方式,莫過(guò)于建立一個(gè)接近真實(shí)業(yè)務(wù)應(yīng)用的操作環(huán)境,進(jìn)行各種壓力測(cè)試,測(cè)算出不同應(yīng)用環(huán)境下服務(wù)器系統(tǒng)的響應(yīng)時(shí)間、吞吐量等等,從而對(duì)服務(wù)器性能做出一個(gè)最接近真實(shí)狀況的評(píng)估。

然而,對(duì)大多數(shù)用戶來(lái)說(shuō),建立準(zhǔn)確的壓力測(cè)試環(huán)境是具有一定挑戰(zhàn)性的,所以很多時(shí)候,在采購(gòu)服務(wù)器的過(guò)程中,就需要一個(gè)工業(yè)標(biāo)準(zhǔn)作為參照物。
那么,有這樣的參照物嗎?

是的,業(yè)界有一個(gè)曝光率極高的詞–Benchmark,就是服務(wù)器的工業(yè)標(biāo)準(zhǔn)基準(zhǔn)測(cè)試,其中包括諸如TPC、SPEC、SAP SD、Linpack和HPCC等在內(nèi)的眾多服務(wù)器性能基準(zhǔn)測(cè)試,可以從處理器性能、服務(wù)器系統(tǒng)性能、商業(yè)應(yīng)用性能直到高性能計(jì)算機(jī)的性能,給出一個(gè)量化的評(píng)價(jià)指標(biāo)供用戶選擇。那么,在如此多的標(biāo)準(zhǔn)中,用戶該如何選擇最適合自身應(yīng)用環(huán)境的評(píng)價(jià)體系呢?
實(shí)際上,這完全取決于用戶對(duì)于其應(yīng)用環(huán)境的了解??梢哉f(shuō),了解應(yīng)用性質(zhì)非常重要,不同的應(yīng)用,即使屬于同一大類,Benhmark的適用性也是因?yàn)閼?yīng)用類型的不同而不同的。例如都是數(shù)據(jù)庫(kù)系統(tǒng),也可能因?yàn)檫\(yùn)算類型的不同而對(duì)服務(wù)器有不同的要求,所以基準(zhǔn)測(cè)試的適用性也不同。

第一回:把脈兩大基準(zhǔn)體系

心中有數(shù),方可游刃有余。

在服務(wù)器基準(zhǔn)測(cè)試體系中,TPC和SPEC是最常用、最普及的兩大基準(zhǔn),深入了解其中的涵義和奧秘,對(duì)于更好地在服務(wù)器采購(gòu)中運(yùn)用Benchmark工具相當(dāng)重要。

第一節(jié):了解TPC系統(tǒng)

PC體系是影響最大的評(píng)測(cè)基準(zhǔn)之一,但有多少用戶真正了解其中的含義呢?

TPC(Transaction processing Performance Council,事務(wù)處理性能委員會(huì))是由數(shù)十家會(huì)員公司創(chuàng)建的非盈利組織,總部設(shè)在美國(guó)。TPC的成員主要是計(jì)算機(jī)軟硬件廠家,而非計(jì)算機(jī)用戶,其功能是制定商務(wù)應(yīng)用基準(zhǔn)測(cè)試程序的標(biāo)準(zhǔn)規(guī)范、性能和價(jià)格度量,并管理測(cè)試結(jié)果的發(fā)布。

作為一家非盈利性機(jī)構(gòu),事務(wù)處理性能委員會(huì)(TPC)負(fù)責(zé)定義諸如TPC-C、TPC-H和TPC-W基準(zhǔn)測(cè)試之類的事務(wù)處理與數(shù)據(jù)庫(kù)性能基準(zhǔn)測(cè)試,并依據(jù)這些基準(zhǔn)測(cè)試項(xiàng)目發(fā)布客觀性能數(shù)據(jù)。

TPC不給出基準(zhǔn)測(cè)試程序的代碼,而只給出基準(zhǔn)測(cè)試程序的標(biāo)準(zhǔn)規(guī)范。任何廠家或其他測(cè)試者都可以根據(jù)規(guī)范,最優(yōu)地構(gòu)造出自己的測(cè)試系統(tǒng)(測(cè)試平臺(tái)和測(cè)試程序)。為保證測(cè)試結(jié)果的完整性,被測(cè)試者(通常是廠家)必須提交給TPC一套完整的報(bào)告(Full Disclosure Report),包括被測(cè)系統(tǒng)的詳細(xì)配置、分類價(jià)格和包含5年維護(hù)費(fèi)用在內(nèi)的總價(jià)格。該報(bào)告必須由TPC授權(quán)的審核員核實(shí)(TPC本身并不做審計(jì))。TPC在全球只有不到10名審核員,全部在美國(guó)。

TPC推出過(guò)11套基準(zhǔn)測(cè)試程序,分別是正在使用的TPC-App、TPC-H、TPC-C、TPC-W,過(guò)時(shí)的TPC-A、TPC-B、TPC-D和TPC-R,以及因?yàn)椴槐粯I(yè)界接受而放棄的TPC-S(Server專門基準(zhǔn)測(cè)試程序)、TPC-E(大型企業(yè)信息服務(wù)基準(zhǔn)測(cè)試程序)和TPC-Client/Server。而目前最為"流行"的TPC-C是在線事務(wù)處理(OLTP)的基準(zhǔn)測(cè)試程序,于1992年7月完成,后被業(yè)界逐漸接受。

第二節(jié):SPEC關(guān)注Java和Web

除了TPC家族,SPEC家族也是廣為人知的一大體系。

與TPC體系注重在線處理能力和數(shù)據(jù)庫(kù)查詢能力不同,SPEC服務(wù)器應(yīng)用性能測(cè)試是一個(gè)全面衡量Web應(yīng)用中java企業(yè)應(yīng)用服務(wù)器性能的基準(zhǔn)測(cè)試。

SPEC(the Standard Performance Evaluation Corporation標(biāo)準(zhǔn)性能評(píng)估機(jī)構(gòu))是一個(gè)全球性的、權(quán)威的第三方應(yīng)用性能基準(zhǔn)測(cè)試組織,它旨在確立、修改以及認(rèn)定一系列服務(wù)器應(yīng)用性能評(píng)估的標(biāo)準(zhǔn)。

SPEC服務(wù)器應(yīng)用性能基準(zhǔn)測(cè)試是一個(gè)全面衡量Web應(yīng)用中java企業(yè)應(yīng)用服務(wù)器性能的基準(zhǔn)測(cè)試。在這個(gè)基準(zhǔn)測(cè)試中,系統(tǒng)模擬一個(gè)現(xiàn)代化企業(yè)的電子化業(yè)務(wù)工作,如客戶定購(gòu)查詢、產(chǎn)品生產(chǎn)制造管理、供應(yīng)商和服務(wù)器提供商管理等,給系統(tǒng)以巨大的負(fù)載,以全面測(cè)試運(yùn)行典型java業(yè)務(wù)應(yīng)用的服務(wù)器性能水平。

由于它體現(xiàn)了軟、硬件平臺(tái)的性能和成本指標(biāo),被金融、電信、證券等關(guān)鍵行業(yè)用戶作為選擇IT系統(tǒng)一項(xiàng)權(quán)威的選型基準(zhǔn)測(cè)試指標(biāo)。

目前主要包括針對(duì)CPU性能的SPEC CPU2000(已有CPU2006,但數(shù)據(jù)不是很多)、針對(duì)Web服務(wù)器的SPECweb2005、針對(duì)高性能計(jì)算的SPEC HPC2002與SPEC MPI2006、針對(duì)Java應(yīng)用的jAppServer2004與JBB2005以及其他針對(duì)圖形系統(tǒng)、網(wǎng)絡(luò)和郵件服務(wù)器的基準(zhǔn)測(cè)試指標(biāo)。

其中CPU2000和web2005兩類是被引用最廣泛的基準(zhǔn)測(cè)試指標(biāo)。

第三節(jié):三種實(shí)踐模式

成熟的企業(yè),從不盲目相信"國(guó)際通用標(biāo)準(zhǔn)",他們總是付出人力、物力、財(cái)力,來(lái)建立自己的應(yīng)用測(cè)試系統(tǒng),從而決定服務(wù)器選型。

"國(guó)際通用標(biāo)準(zhǔn)"的度量可以作為參考值,而不應(yīng)作為必要條件。尤其是一定要弄清這些流行的度量有什么含義,是在什么樣的系統(tǒng)環(huán)境中測(cè)得的,以及基準(zhǔn)程序是否符合企業(yè)真實(shí)的業(yè)務(wù)流程和運(yùn)作模式。

下面就是三種不同的檢測(cè)模式。

在真實(shí)環(huán)境中運(yùn)行實(shí)際應(yīng)用:這是最理想的方式。要求制造商或系統(tǒng)集成商配合將系統(tǒng)(含平臺(tái)、軟件和操作流程)在一個(gè)實(shí)際用戶點(diǎn)真正試運(yùn)行一段時(shí)間。這樣,用戶不僅能看到實(shí)際性能,也能觀察到系統(tǒng)是否穩(wěn)定可靠、使用是否方便、服務(wù)是否周到、配置是否足夠、全部?jī)r(jià)格是否合理。

使用用戶定義的基準(zhǔn)程序:如果第一種方式不可行,用戶可以定義一組含有自己實(shí)際應(yīng)用環(huán)境特征的應(yīng)用基準(zhǔn)測(cè)試程序。業(yè)內(nèi)有兩個(gè)典型的例子:其一,近年來(lái)由于3層應(yīng)用模型的風(fēng)靡,SAP SD基準(zhǔn)測(cè)試獲得了眾多廠商和用戶的認(rèn)可,于是在很多地方都能看見(jiàn)對(duì)SAP基準(zhǔn)測(cè)試數(shù)據(jù)的引用;其二,國(guó)家稅務(wù)總局曾經(jīng)開(kāi)發(fā)自己的基準(zhǔn)測(cè)試程序,以幫助稅務(wù)系統(tǒng)進(jìn)行服務(wù)器選型。這種方式在中國(guó)尤其重要,因?yàn)橹袊?guó)的信息系統(tǒng)有其特殊性。

使用通用基準(zhǔn)測(cè)試程序:如果前兩種均難實(shí)行,那么使用如TPC-C之類的通用基準(zhǔn)測(cè)試程序未嘗不可。但用戶應(yīng)當(dāng)尤其注意–實(shí)際應(yīng)用是否與基準(zhǔn)測(cè)試程序相符?絕大多數(shù)基準(zhǔn)測(cè)試程序都是在美國(guó)制訂的,而中國(guó)的企事業(yè)單位與美國(guó)的運(yùn)作方式常常不一樣,在使用TPC-C時(shí),用戶應(yīng)該清楚地知道:自己的應(yīng)用是否符合批發(fā)商模式?事務(wù)請(qǐng)求是否與測(cè)試模式近似?對(duì)響應(yīng)時(shí)間的要求是否那么高?如果都不是,則tpmC值的參考價(jià)值就不太大了。那么不妨看看其他的更合適的測(cè)試指標(biāo),例如SPECweb2005等。

第二回:四大應(yīng)用中的Benchmark

知己知彼,才能為我所用。

應(yīng)用種類不同,所適用的Benchmark基準(zhǔn)測(cè)試也不同。只有做到對(duì)應(yīng)用類型和Benchmark種類心中有數(shù),才能在名目繁多的基準(zhǔn)測(cè)試中找到能夠真正為我所用的項(xiàng)目,從而有效地指導(dǎo)服務(wù)器平臺(tái)采購(gòu)。這里以高性能運(yùn)算、在線事務(wù)處理能力、Web應(yīng)用和Java應(yīng)用四大類企業(yè)典型應(yīng)用為主,介紹了相應(yīng)"對(duì)號(hào)入座"的基準(zhǔn)測(cè)試。

第一節(jié):高性能運(yùn)算有多"高"?

高性能計(jì)算機(jī)是一個(gè)復(fù)雜的系統(tǒng),很難用幾個(gè)參數(shù)或指標(biāo)對(duì)其進(jìn)行性能評(píng)價(jià)。

為此,業(yè)界開(kāi)發(fā)了多種標(biāo)準(zhǔn)測(cè)試程序試圖對(duì)高性能計(jì)算機(jī)進(jìn)行評(píng)定,但這些測(cè)試指標(biāo)通常都是對(duì)計(jì)算機(jī)某一方面進(jìn)行測(cè)試,而不能全面地說(shuō)明系統(tǒng)的整體性能。

目前,比較常用的幾個(gè)基準(zhǔn)測(cè)試中,Linpack側(cè)重于系統(tǒng)浮點(diǎn)峰值運(yùn)算能力的測(cè)試;SPEC CPU2000測(cè)試的是單CPU性能及作業(yè)吞吐能力;SPEC OMP2001的結(jié)果說(shuō)明了共享內(nèi)存的計(jì)算機(jī)使用共享內(nèi)存并行模式(OpenMP)的并行效率和加速比;STREAM試圖對(duì)系統(tǒng)的數(shù)據(jù)訪問(wèn)能力(帶寬和延遲)進(jìn)行定量地評(píng)價(jià)等。

高性能計(jì)算用戶的應(yīng)用千差萬(wàn)別,對(duì)計(jì)算機(jī)系統(tǒng)的要求也是各種各樣。所以評(píng)價(jià)高性能計(jì)算機(jī)性能的最好方法是用用戶自己的應(yīng)用程序去進(jìn)行實(shí)際的測(cè)試,或找到相似應(yīng)用的商業(yè)軟件的基準(zhǔn)測(cè)試結(jié)果。這樣的評(píng)價(jià)會(huì)更有針對(duì)性,也比較客觀。比如在制造行業(yè)中,常常需要對(duì)汽車在高速行駛情況下的氣動(dòng)性能、飛機(jī)發(fā)動(dòng)機(jī)內(nèi)氣體流動(dòng)等情況進(jìn)行分析,相應(yīng)的商業(yè)流體力學(xué)分析軟件有Fluent、Satr-CD、Power-Flow等。而在石油行業(yè)中,比較知名的軟件有Platform等。

Linpack主宰TOP500

每年,當(dāng)全球超級(jí)計(jì)算機(jī)TOP500發(fā)布的時(shí)候,都會(huì)成為業(yè)界的關(guān)注焦點(diǎn)。名單上起起落落、沉沉浮浮的背后,牽扯著從處理器廠商到系統(tǒng)廠商、軟件廠商等等的一長(zhǎng)串心跳,對(duì)他們來(lái)說(shuō),名單上的名次就是實(shí)力、技術(shù)、研發(fā)、前瞻性等等多個(gè)因素的考量。

那么,TOP500的名次是如何排定的呢?一項(xiàng)名為L(zhǎng)inpack的服務(wù)器基準(zhǔn)測(cè)試就是最關(guān)鍵的依據(jù)。

作為一種性能計(jì)量標(biāo)準(zhǔn),Linpack基準(zhǔn)可以提供詳細(xì)的描述和多種硬件平臺(tái)上的性能結(jié)果。

Linpack Benchmark中使用的基準(zhǔn)測(cè)試方法主要用于解算線性方程的密集系統(tǒng)。在TOP500中,就使用了這種版本的基準(zhǔn)測(cè)試,使用戶能夠衡量系統(tǒng)的規(guī)模并對(duì)軟件進(jìn)行優(yōu)化,使其能夠在特定的硬件平臺(tái)上發(fā)揮出最佳的性能。雖然這種性能并不能反映出特定系統(tǒng)的總體性能,但它可以反映出專用系統(tǒng)解算線性方程密集系統(tǒng)的性能。因?yàn)檫@種問(wèn)題很常見(jiàn),而且取得的性能非常高,因此良好的性能參數(shù)對(duì)于峰值性能具有很好的參考意義。

SPECfp2006考察浮點(diǎn)運(yùn)算

1、CPU基準(zhǔn)測(cè)試SPEC CPU2006

對(duì)于一個(gè)高性能計(jì)算機(jī)來(lái)說(shuō),用戶最關(guān)注的就是它的整體運(yùn)算能力,Linpack能夠幫助用戶清晰地掌握這個(gè)系統(tǒng)的整體能力,而對(duì)于單個(gè)CPU性能及作業(yè)吞吐能力的測(cè)試,則靠另外一個(gè)基準(zhǔn)測(cè)試SPEC CPU2006來(lái)完成。或者說(shuō),對(duì)于計(jì)算密集類型的工作負(fù)荷來(lái)說(shuō),SPEC CPU2006是一個(gè)非常重要的基準(zhǔn)測(cè)試。

SPEC CPU2006能分別測(cè)量計(jì)算機(jī)系統(tǒng)的整數(shù)和浮點(diǎn)性能。其中,SPECint_base2006衡量在單處理器系統(tǒng)上的整數(shù)"速度"性能,而SPECfp_base2006則衡量在單處理器系統(tǒng)上的浮點(diǎn)"速度"性能。"整數(shù)"部分有12個(gè)程序,使用C或C++語(yǔ)言,它們不使用CPU的浮點(diǎn)單元;而"浮點(diǎn)數(shù)"分有 17 個(gè)程序(原來(lái)的CCPECfp2000至右14個(gè)程序),使用FORTRAN 77/90和C語(yǔ)言,這些程序的主要運(yùn)算是浮點(diǎn)數(shù)的。

SPECint2006和SPECfp2006的結(jié)果以執(zhí)行時(shí)間為準(zhǔn)。每個(gè)程序的執(zhí)行時(shí)間和一個(gè)參考平臺(tái)(Sun Ultra5/10 300MHz)相比,計(jì)算出其倍數(shù)。如果執(zhí)行時(shí)間和參考平臺(tái)相同,結(jié)果就是100。如果只花了一半時(shí)間完成,結(jié)果就是200。"整數(shù)"的12個(gè)程序的結(jié)果,取其平均值,得到的就是SPECint2006的測(cè)試結(jié)果。"浮點(diǎn)數(shù)"的17個(gè)程序也是一樣。
由于SPEC CPU2006的測(cè)試程序都是源代碼形式(以保證跨平臺(tái)測(cè)試),所以編譯器效率就顯得十分重要。SPEC CPU2006規(guī)定,測(cè)試結(jié)果有"Base"和"Peak"兩種結(jié)果。"Base"測(cè)試中,對(duì)于編譯時(shí)的最佳優(yōu)化參數(shù)有所規(guī)定(所有的程序都需使用同樣的參數(shù),且參數(shù)數(shù)目不能超過(guò)四個(gè)),而"Peak"測(cè)試則比較寬松。

(1) (2) (3)

分享到

多易

相關(guān)推薦