-
SPEC基準
鎖定
基準程序(benchmark)是為評估一台機器而執行的程序。通常,基準程序是一個生產程序(production program),它代表了安裝時的很多工作。
- 中文名
- SPEC基準
- 外文名
- The SPEC benchmark
- 類 型
- 生產程序
- 代 表
- 代表了安裝時的很多工作
- 定 義
- 評估一台機器而執行的程序
- 學 科
- 計算機原理
目錄
- 1 概述
- 2 SPEC基準程序系列
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命令基準程序。