複製鏈接
請複製以下鏈接發送給好友

SPEC基準

鎖定
基準程序(benchmark)是為評估一台機器而執行的程序。通常,基準程序是一個生產程序(production program),它代表了安裝時的很多工作。
中文名
SPEC基準
外文名
The SPEC benchmark
類    型
生產程序
代    表
代表了安裝時的很多工作
定    義
評估一台機器而執行的程序
學    科
計算機原理

SPEC基準概述

基準程序(benchmark)是為評估一台機器而執行的程序。通常,基準程序是一個生產程序(production program),它代表了安裝時的很多工作。評估人員非常熟悉現有設備上的基準程序的性能,因此,當它在新設備上運行時,評估人員可以得出有意義的結論。一些組織,諸如標準性能評估公司(Standard Performance Evaluation Corporation,SPEC;WWW.specbench.org)和商業應用性能測試公司(Business Application PerformanceCorporation,BAPCo:WWW.bapco.com),已經開發了適用於不同系統(例如,Web服務器或個人計算機)的工業標準的基準程序。評估人員可以運行這些基準程序來比較不同廠商生產的相似系統。
基準程序評估的一個優點是已有很多這樣的基準程序,因此評估人員只需從已知的生產程序中選擇它們,或者使用工業標準的基準程序。這種方法不用對各指令進行計時,而是讓整個程序在真實的機器上用真實的數據運行,因此計算機完成了絕大部分工作。人工錯誤的機會被最小化,因為基準程序的時間是由計算機本身測量的。在諸如多道程序系統、分時系統、多處理系統、數據庫、數據通信和實時系統等環境下,基準程序特別有用,因為它們在真實環境中的真實機器上運行。這些複雜系統的效果可以直接體驗到,而不是通過估計。
開發基準程序時應考慮若干標準。首先,測試結果應該是可重複的;特別是,在相同的系統上運行基準程序時,每次產生的結果應接近相同。運行結果不一定相等,而且也很少會相同,因為一些環境相關的細節(諸如一個數據項在磁盤上的存儲位置)會影響運行結果。其次,基準程序應準確反映在真實系統上執行的應用程序的類型。最後,基準程序應當得到廣泛使用,以便可以對系統作出更準確的比較。一個良好的工業標準的基準程序將具備所有這些性質,然而,後面兩個標準往往會導致衝突的設計決策。某個系統專用的基準程序,可能無法廣泛使用;而一個旨在測試多個系統的基準程序,對某個特定的系統可能不能產生準確的測試結果。
基準程序不僅適用於評估軟件,而且也適用於評估硬件,甚至可以評估它們在複雜操作環境下的性能。它們也特別適合於比較對系統作出某些變更前後系統的操作。然而,基準程序不適合預測計劃變更的效果,除非存在另一個系統也作了相同的變更,並且基準程序可以在它上面運行。
當組織和消費者決定從若干競爭廠商那裏購買哪種設備時,基準程序可能是最廣泛使用的技術。由於這種廣泛性,產生了行業標準的基準程序的需求。SPEC成立於1988年,為了推動標準的、相關基準程序的制定。SPEC公佈了各種基準程序(通常稱為SPECmarks),它們可用來評測各種各樣的系統(從服務器到Java虛擬機),並且公佈了用那些SPECmarks測試上千個商業系統的性能結果。有了SPEC評估,就可以作出基於可靠信息的決策,決定採購哪些計算機元件。然而,在評估特定的平台時,首先必須認真確定每次SPECmark測試的核心。例如,SPECweb測量那些通常運行Web服務器的系統,而不應當用它們來比較在不同環境中執行的系統。29如果某個特定的Web服務器的環境不同於一個“典型的”環境,則SPEC評估可能不恰當。此外,SPEC的某些基準程序因適用範圍狹窄而受到批評,尤其是受到那些懷疑“典型”負荷可以準確地近似一個特定系統的真實工作量的假設的人的批評。為了突破這樣的限制,SPEC不斷地重新設計基準程序,以改進它們與當前系統的相關性。
除了著名的SPEC和它的基準程序以外,還有許多其他流行的基準程序和基準測試組織。這其中包括BAPCo,它也產生了幾個基準程序,包括流行的Sysmark基準程序(適用於桌面系統)、MobileMark(適用於安裝在移動設備上的系統)和WebMark(適用於Internet性能測試)。其他流行的基準程序包括事務處理性能委員會(Transaction ProcessingPerformance Council,TPC)基準程序(以數據庫系統為目標),以及標準應用(StandardApplication,SAP)基準程序(適用於評估系統的可伸縮性)。 [1] 

SPEC基準SPEC基準程序系列

SPEC基準程序系列是由名為Standard Performance Evaluation Corporation作盈利公司所開發的。SPEC強調開發實際應用基準程廳以求更確切地反映實際工作負載,而不採用小的合成核心。對每個基準程序和基準程序組,SPEC定義了少量的(大多數情況為2個)指標以測量整個系統的總性能。
SPEC以測量CPU性能的基準程序作為出發點,但已向客户機/服務器計算,商業應用以及I/O廣系統等方面擴展。SPEC已公佈如下的基準程序組:
SPEC 95:測量CPU、存儲器系統和編譯器代碼生成性能。
SPEC hpc 96:測量運行工業型應用程序的高性能計算系統的性能。它包括兩個基準程序:地震處理基準程序SPEC seis 96和計算化學基準程序SPEC chem 96。
SPEC web 96:測量基於由現實世界WWW服務器運行記錄而獲得的工作負載的Web服務器性能。
SFS:為系統級文件服務器基準程序,它包含有LADDIS基準程序並測量不同負載情況下的NFS文件服務器的響應時間和吞吐率。
SDM:為系統開發多仔務基準程序,測量一個系統如何處理一個有大量用户發出典型的Unix軟件開發命令(如make、cp、grep及spell等)的環境。它含有兩個由Unix shell腳本構成的多用户Unix命令基準程序。
GPC:圖形性能特徵描述基準程序,測量圖形學性能。它包含3個正在不斷髮展的研究項目。圖片級基準程序(Picture Level Benchmark,PLB)測量“每秒向量數”和“每秒多邊形數”圖形處理能力、X性能特徵描述(X Performance Characterization,XPC)項目開發了Xmark 93基準程序測試工具以測量X窗口性能。Open GL性能特徵描述(Open G1 Performance Characterization,OPC)項目已開發了Viewperf基準程序以測量Open GL性能。 [2] 
參考資料
  • 1.    (美)Harvey M.Deitel,Paul J.Deitel,David R.Choffnes著,操作系統 第三版,清華大學出版社,2007.8,第676頁
  • 2.    黃鎧 徐志偉,可擴展並行計算技術、結構與編程,機械工業出版社,2000年05月第1版,第65頁