剖析基準(zhǔn)測(cè)試
——
剖析基準(zhǔn)測(cè)試
基準(zhǔn)測(cè)試能在您分析和比較各個(gè)系統(tǒng)時(shí)為您節(jié)省時(shí)間。但是,基準(zhǔn)測(cè)試的真正價(jià)值常常意味著對(duì)每個(gè)評(píng)分的意義“進(jìn)行逆向工程”并且將那些見(jiàn)解應(yīng)用到您的實(shí)際環(huán)境中。
要點(diǎn)
● 基準(zhǔn)試圖將復(fù)雜系統(tǒng)進(jìn)行抽象和簡(jiǎn)化以便您能更好地進(jìn)行蘋(píng)果對(duì)蘋(píng)果比較。
● 基準(zhǔn)必須附帶完整的測(cè)試詳情才有意義。
● 您有責(zé)任分析基準(zhǔn)測(cè)試詳情以判斷一個(gè)給定評(píng)分是否與實(shí)際情況相關(guān)。
● 基準(zhǔn)應(yīng)該只作為整個(gè)決策過(guò)程的一個(gè)數(shù)據(jù)點(diǎn),諸如供應(yīng)商開(kāi)發(fā)支持和平臺(tái)靈活性等其他定性因素可能比基準(zhǔn)測(cè)試高評(píng)分更重要。
基準(zhǔn)是一個(gè)您能用以對(duì)兩個(gè)或更多相似選擇對(duì)象的價(jià)值和質(zhì)量進(jìn)行一致的測(cè)量、量化和比較的參考點(diǎn),這些選擇對(duì)象包括商業(yè)過(guò)程、工具和嵌入式處理器等。對(duì)于嵌入式處理器來(lái)說(shuō),基準(zhǔn)通常是一組在候選處理器上運(yùn)行的一致性軟件代碼,因此您可以將候選處理器的性能與其他可供選用的處理器進(jìn)行比較。處理器基準(zhǔn)并不局限于測(cè)量處理器體系結(jié)構(gòu)效率;它們還能表明編譯器相對(duì)于人工優(yōu)化編碼的效率。
理想的基準(zhǔn)對(duì)一個(gè)系統(tǒng)的重要性能度量進(jìn)行提取和合并,形成一個(gè)在特定上下文中,能對(duì)不同系統(tǒng)選擇進(jìn)行有意義的“蘋(píng)果對(duì)蘋(píng)果”比較的簡(jiǎn)化表示 或評(píng)分。但是,使用理想的基準(zhǔn)如果不能比不太精確的比較工作更多地節(jié)省時(shí)間、降低成本或者減小風(fēng)險(xiǎn),那是不切實(shí)際的。
對(duì)于具有某一清晰目標(biāo)的系統(tǒng)或任務(wù)來(lái)說(shuō),您常常會(huì)找到一個(gè)性能度量,用以精確獲取系統(tǒng)行為,并在您將該系統(tǒng)與其他選擇對(duì)象比較時(shí)具有良好的相關(guān)性。比較兩個(gè)處理器的時(shí)鐘速率就是獲得相對(duì)性能的一個(gè)流行的基準(zhǔn)度量,但是它的適用環(huán)境很窄,只有當(dāng)這兩個(gè)處理器除了時(shí)鐘速率之外大致相同時(shí),這種比較才有用。盡管比較基準(zhǔn)測(cè)試評(píng)分的簡(jiǎn)單性如何吸引人,但正確解釋這些相互關(guān)聯(lián)的評(píng)分則需要您了解基準(zhǔn)測(cè)量的基本細(xì)節(jié)及其與您應(yīng)用系統(tǒng)的相關(guān)性。對(duì)于嵌入式設(shè)計(jì)來(lái)說(shuō),您比較的處理器體系結(jié)構(gòu)可能大不相同,因此使用時(shí)鐘速率作為基準(zhǔn)度量也許是不適宜的。
通常,嵌入式設(shè)計(jì)必須同時(shí)平衡并滿足許多目標(biāo),例如提供正確的功能既要快速、經(jīng)濟(jì)實(shí)惠,又要具有低功耗、高質(zhì)量和靈活性。就這幾類(lèi)情況而言,性能是多方面的,因此將系統(tǒng)性能精確地描述為一個(gè)簡(jiǎn)化的評(píng)分,用以與其他選擇對(duì)象進(jìn)行有意義的比較,可能是困難而又代價(jià)高昂的。對(duì)多個(gè)系統(tǒng)進(jìn)行比較存在一個(gè)難題,就是既要使獲得和導(dǎo)出基準(zhǔn)測(cè)試評(píng)分簡(jiǎn)易而又花錢(qián)少,又要使不同系統(tǒng)的相同評(píng)分的排名有意義。
謊言和更多謊言
許多處理器供應(yīng)商都使用基準(zhǔn)測(cè)試評(píng)分作為一種營(yíng)銷(xiāo)工具。但是,有些經(jīng)常發(fā)布的基準(zhǔn)測(cè)試評(píng)分,如MIPS(每秒百萬(wàn)條指令)和DMIPS(Dhrystone MIPIS),在沒(méi)有特定背景的情況下是毫無(wú)意義和不恰當(dāng)?shù)模▍㈤喐轿摹痘鶞?zhǔn)測(cè)試游戲》)。這兩類(lèi)性能評(píng)分的繼續(xù)廣泛使用使得處理器基準(zhǔn)測(cè)試獲得了對(duì)處理器性能度量不精確的名聲。一次網(wǎng)上搜索就會(huì)發(fā)現(xiàn)對(duì)下面關(guān)于標(biāo)準(zhǔn)基準(zhǔn)測(cè)試的陳述的多次引用:“計(jì)算機(jī)行業(yè)有三種謊言:謊言、該死的謊言和基準(zhǔn)測(cè)試。”
綜合基準(zhǔn)測(cè)試通常試圖通過(guò)使用人工指令序列或者通過(guò)盡量模擬真實(shí)環(huán)境應(yīng)用系統(tǒng)中的普通指令混合,來(lái)度量某個(gè)系統(tǒng)、處理器或編譯程序的一個(gè)或多個(gè)新性能。相反,真實(shí)環(huán)境應(yīng)用系統(tǒng)基準(zhǔn)測(cè)試在考慮處理器特性方面前進(jìn)了一步,它試圖對(duì)處理器體系結(jié)構(gòu)和開(kāi)發(fā)工具如何處理特定類(lèi)型應(yīng)用系統(tǒng)的預(yù)期工作量進(jìn)行預(yù)測(cè)和量化。應(yīng)用系統(tǒng)基準(zhǔn)測(cè)試可能使用一組或多組真實(shí)應(yīng)用程序代碼塊來(lái)為一個(gè)應(yīng)用系統(tǒng)實(shí)現(xiàn)代表性的功能。
公開(kāi)傳播諸如MIPS和DMIPS等標(biāo)準(zhǔn)綜合基準(zhǔn)測(cè)試這種做法凸顯出人們需要開(kāi)發(fā)和使用簡(jiǎn)單而又有意義的度量。這幾類(lèi)基準(zhǔn)測(cè)試相對(duì)比較便宜,也最容易實(shí)現(xiàn),因而沒(méi)有容易而又低成本實(shí)現(xiàn)的無(wú)版權(quán)替代方案。行業(yè)標(biāo)準(zhǔn)基準(zhǔn)測(cè)試是對(duì)競(jìng)爭(zhēng)性產(chǎn)品進(jìn)行比較的基礎(chǔ),但是,供應(yīng)商通常要承擔(dān)一筆可觀的費(fèi)用以便獲得基準(zhǔn)測(cè)試證據(jù)。BDTI(Berkeley設(shè)計(jì)科技有限公司)、EEMBC(EDN嵌入式微處理器基準(zhǔn)聯(lián)盟)和SPEC(標(biāo)準(zhǔn)性能評(píng)估公司)等基準(zhǔn)組織通過(guò)提供能對(duì)目標(biāo)性能測(cè)量進(jìn)行分類(lèi)的基準(zhǔn)測(cè)試套件,致力于各種不同方面的計(jì)算。各種基準(zhǔn)測(cè)試套件構(gòu)成一致性測(cè)試的基礎(chǔ),并支持一個(gè)性能評(píng)分的粒度范圍,使得您能夠在一個(gè)特定環(huán)境中更好地評(píng)估處理器特性和系統(tǒng)性能。
行業(yè)標(biāo)準(zhǔn)基準(zhǔn)測(cè)試可以作為決策過(guò)程的一個(gè)有價(jià)值的“輸入”,但還不足以成為您設(shè)計(jì)決策的唯一依據(jù)。首先,為您應(yīng)該考慮的每個(gè)處理器平臺(tái)找到相關(guān)而又可比的基準(zhǔn)測(cè)試結(jié)果可能是很難或者是不可能的事。另一個(gè)問(wèn)題是,當(dāng)您確定找到相關(guān)而又可比的基準(zhǔn)測(cè)試時(shí),基準(zhǔn)測(cè)試數(shù)據(jù)可能本來(lái)是為您當(dāng)前正在考慮的一代代處于完全不同時(shí)間點(diǎn)的不同處理器導(dǎo)出的,而且它本可以采用的存儲(chǔ)器結(jié)構(gòu)與您將要使用的迥然不同。特定的或自定義基準(zhǔn)測(cè)試是分析過(guò)程的一部分,有助于填補(bǔ)行業(yè)標(biāo)準(zhǔn)基準(zhǔn)測(cè)試與您應(yīng)用需求之間的空白。
有幾類(lèi)基準(zhǔn)測(cè)試用戶(hù)退出了。顯而易見(jiàn)的基準(zhǔn)測(cè)試用戶(hù)是嵌入式系統(tǒng)設(shè)計(jì)師或者是成為銷(xiāo)售組織營(yíng)銷(xiāo)對(duì)象的終端用戶(hù)。但是,據(jù)幾個(gè)基準(zhǔn)組織說(shuō),終端用戶(hù)并不是行業(yè)標(biāo)準(zhǔn)基準(zhǔn)測(cè)試結(jié)果的主要用戶(hù)群體?;鶞?zhǔn)測(cè)試作為主要決策依據(jù)還不充分,因?yàn)樗鼈儾荒芫_地反映每個(gè)嵌入式系統(tǒng)設(shè)計(jì)師的應(yīng)用需求。例如,許多基準(zhǔn)測(cè)試是內(nèi)核級(jí)的,不考慮與設(shè)計(jì)師在最終應(yīng)用中要使用的操作系統(tǒng)的交互作用。
當(dāng)終端用戶(hù)使用基準(zhǔn)測(cè)試結(jié)果時(shí),他們同各個(gè)處理器廠商的合作常常比同基準(zhǔn)組織的合作更為密切,以便獲得性能數(shù)據(jù)和復(fù)制測(cè)試結(jié)果方面的幫助,并了解基準(zhǔn)測(cè)試配置如何適用于他們的設(shè)計(jì)要求。終端用戶(hù)可能使用基準(zhǔn)測(cè)試作為縮減候選處理器名單的一個(gè)“輸入”,但是其他項(xiàng)目如一組集成特性、支持的I/O接口、開(kāi)發(fā)工具、培訓(xùn)、文檔、第三方開(kāi)發(fā)支持基礎(chǔ)設(shè)施以及規(guī)劃風(fēng)險(xiǎn),都將在排除候選處理器時(shí)起重要作用。通常,終端用戶(hù)基準(zhǔn)測(cè)試是一個(gè)僅適合于立即進(jìn)行的設(shè)計(jì)項(xiàng)目的特殊過(guò)程。
許多處理批量大而對(duì)價(jià)格敏感的設(shè)計(jì)的OEM(原始設(shè)備制造商),都根據(jù)自己的自定義基準(zhǔn)測(cè)試來(lái)選擇處理器。自定義基準(zhǔn)測(cè)試可以由既有應(yīng)用代碼構(gòu)成,但也可能包括來(lái)自行業(yè)標(biāo)準(zhǔn)基準(zhǔn)測(cè)試的代碼。有些OEM成為基準(zhǔn)組織的成員,以便獲得基準(zhǔn)測(cè)試源代碼,因此,他們能將該源代碼的一部分合并到他們的自定義基準(zhǔn)測(cè)試套件中。這些基準(zhǔn)測(cè)試套件只能滿足范圍狹小的目標(biāo)需求,所以更詳細(xì)、更全面。行業(yè)標(biāo)準(zhǔn)基準(zhǔn)努力在相關(guān)性、復(fù)雜度和成本之間取得平衡,能滿足范圍較廣的應(yīng)用需求。通常,OEM基準(zhǔn)測(cè)試工作對(duì)競(jìng)爭(zhēng)很敏感,只供內(nèi)部使用
要點(diǎn)
● 基準(zhǔn)試圖將復(fù)雜系統(tǒng)進(jìn)行抽象和簡(jiǎn)化以便您能更好地進(jìn)行蘋(píng)果對(duì)蘋(píng)果比較。
● 基準(zhǔn)必須附帶完整的測(cè)試詳情才有意義。
● 您有責(zé)任分析基準(zhǔn)測(cè)試詳情以判斷一個(gè)給定評(píng)分是否與實(shí)際情況相關(guān)。
● 基準(zhǔn)應(yīng)該只作為整個(gè)決策過(guò)程的一個(gè)數(shù)據(jù)點(diǎn),諸如供應(yīng)商開(kāi)發(fā)支持和平臺(tái)靈活性等其他定性因素可能比基準(zhǔn)測(cè)試高評(píng)分更重要。
基準(zhǔn)是一個(gè)您能用以對(duì)兩個(gè)或更多相似選擇對(duì)象的價(jià)值和質(zhì)量進(jìn)行一致的測(cè)量、量化和比較的參考點(diǎn),這些選擇對(duì)象包括商業(yè)過(guò)程、工具和嵌入式處理器等。對(duì)于嵌入式處理器來(lái)說(shuō),基準(zhǔn)通常是一組在候選處理器上運(yùn)行的一致性軟件代碼,因此您可以將候選處理器的性能與其他可供選用的處理器進(jìn)行比較。處理器基準(zhǔn)并不局限于測(cè)量處理器體系結(jié)構(gòu)效率;它們還能表明編譯器相對(duì)于人工優(yōu)化編碼的效率。
理想的基準(zhǔn)對(duì)一個(gè)系統(tǒng)的重要性能度量進(jìn)行提取和合并,形成一個(gè)在特定上下文中,能對(duì)不同系統(tǒng)選擇進(jìn)行有意義的“蘋(píng)果對(duì)蘋(píng)果”比較的簡(jiǎn)化表示 或評(píng)分。但是,使用理想的基準(zhǔn)如果不能比不太精確的比較工作更多地節(jié)省時(shí)間、降低成本或者減小風(fēng)險(xiǎn),那是不切實(shí)際的。
對(duì)于具有某一清晰目標(biāo)的系統(tǒng)或任務(wù)來(lái)說(shuō),您常常會(huì)找到一個(gè)性能度量,用以精確獲取系統(tǒng)行為,并在您將該系統(tǒng)與其他選擇對(duì)象比較時(shí)具有良好的相關(guān)性。比較兩個(gè)處理器的時(shí)鐘速率就是獲得相對(duì)性能的一個(gè)流行的基準(zhǔn)度量,但是它的適用環(huán)境很窄,只有當(dāng)這兩個(gè)處理器除了時(shí)鐘速率之外大致相同時(shí),這種比較才有用。盡管比較基準(zhǔn)測(cè)試評(píng)分的簡(jiǎn)單性如何吸引人,但正確解釋這些相互關(guān)聯(lián)的評(píng)分則需要您了解基準(zhǔn)測(cè)量的基本細(xì)節(jié)及其與您應(yīng)用系統(tǒng)的相關(guān)性。對(duì)于嵌入式設(shè)計(jì)來(lái)說(shuō),您比較的處理器體系結(jié)構(gòu)可能大不相同,因此使用時(shí)鐘速率作為基準(zhǔn)度量也許是不適宜的。
通常,嵌入式設(shè)計(jì)必須同時(shí)平衡并滿足許多目標(biāo),例如提供正確的功能既要快速、經(jīng)濟(jì)實(shí)惠,又要具有低功耗、高質(zhì)量和靈活性。就這幾類(lèi)情況而言,性能是多方面的,因此將系統(tǒng)性能精確地描述為一個(gè)簡(jiǎn)化的評(píng)分,用以與其他選擇對(duì)象進(jìn)行有意義的比較,可能是困難而又代價(jià)高昂的。對(duì)多個(gè)系統(tǒng)進(jìn)行比較存在一個(gè)難題,就是既要使獲得和導(dǎo)出基準(zhǔn)測(cè)試評(píng)分簡(jiǎn)易而又花錢(qián)少,又要使不同系統(tǒng)的相同評(píng)分的排名有意義。
謊言和更多謊言
許多處理器供應(yīng)商都使用基準(zhǔn)測(cè)試評(píng)分作為一種營(yíng)銷(xiāo)工具。但是,有些經(jīng)常發(fā)布的基準(zhǔn)測(cè)試評(píng)分,如MIPS(每秒百萬(wàn)條指令)和DMIPS(Dhrystone MIPIS),在沒(méi)有特定背景的情況下是毫無(wú)意義和不恰當(dāng)?shù)模▍㈤喐轿摹痘鶞?zhǔn)測(cè)試游戲》)。這兩類(lèi)性能評(píng)分的繼續(xù)廣泛使用使得處理器基準(zhǔn)測(cè)試獲得了對(duì)處理器性能度量不精確的名聲。一次網(wǎng)上搜索就會(huì)發(fā)現(xiàn)對(duì)下面關(guān)于標(biāo)準(zhǔn)基準(zhǔn)測(cè)試的陳述的多次引用:“計(jì)算機(jī)行業(yè)有三種謊言:謊言、該死的謊言和基準(zhǔn)測(cè)試。”
綜合基準(zhǔn)測(cè)試通常試圖通過(guò)使用人工指令序列或者通過(guò)盡量模擬真實(shí)環(huán)境應(yīng)用系統(tǒng)中的普通指令混合,來(lái)度量某個(gè)系統(tǒng)、處理器或編譯程序的一個(gè)或多個(gè)新性能。相反,真實(shí)環(huán)境應(yīng)用系統(tǒng)基準(zhǔn)測(cè)試在考慮處理器特性方面前進(jìn)了一步,它試圖對(duì)處理器體系結(jié)構(gòu)和開(kāi)發(fā)工具如何處理特定類(lèi)型應(yīng)用系統(tǒng)的預(yù)期工作量進(jìn)行預(yù)測(cè)和量化。應(yīng)用系統(tǒng)基準(zhǔn)測(cè)試可能使用一組或多組真實(shí)應(yīng)用程序代碼塊來(lái)為一個(gè)應(yīng)用系統(tǒng)實(shí)現(xiàn)代表性的功能。
公開(kāi)傳播諸如MIPS和DMIPS等標(biāo)準(zhǔn)綜合基準(zhǔn)測(cè)試這種做法凸顯出人們需要開(kāi)發(fā)和使用簡(jiǎn)單而又有意義的度量。這幾類(lèi)基準(zhǔn)測(cè)試相對(duì)比較便宜,也最容易實(shí)現(xiàn),因而沒(méi)有容易而又低成本實(shí)現(xiàn)的無(wú)版權(quán)替代方案。行業(yè)標(biāo)準(zhǔn)基準(zhǔn)測(cè)試是對(duì)競(jìng)爭(zhēng)性產(chǎn)品進(jìn)行比較的基礎(chǔ),但是,供應(yīng)商通常要承擔(dān)一筆可觀的費(fèi)用以便獲得基準(zhǔn)測(cè)試證據(jù)。BDTI(Berkeley設(shè)計(jì)科技有限公司)、EEMBC(EDN嵌入式微處理器基準(zhǔn)聯(lián)盟)和SPEC(標(biāo)準(zhǔn)性能評(píng)估公司)等基準(zhǔn)組織通過(guò)提供能對(duì)目標(biāo)性能測(cè)量進(jìn)行分類(lèi)的基準(zhǔn)測(cè)試套件,致力于各種不同方面的計(jì)算。各種基準(zhǔn)測(cè)試套件構(gòu)成一致性測(cè)試的基礎(chǔ),并支持一個(gè)性能評(píng)分的粒度范圍,使得您能夠在一個(gè)特定環(huán)境中更好地評(píng)估處理器特性和系統(tǒng)性能。
行業(yè)標(biāo)準(zhǔn)基準(zhǔn)測(cè)試可以作為決策過(guò)程的一個(gè)有價(jià)值的“輸入”,但還不足以成為您設(shè)計(jì)決策的唯一依據(jù)。首先,為您應(yīng)該考慮的每個(gè)處理器平臺(tái)找到相關(guān)而又可比的基準(zhǔn)測(cè)試結(jié)果可能是很難或者是不可能的事。另一個(gè)問(wèn)題是,當(dāng)您確定找到相關(guān)而又可比的基準(zhǔn)測(cè)試時(shí),基準(zhǔn)測(cè)試數(shù)據(jù)可能本來(lái)是為您當(dāng)前正在考慮的一代代處于完全不同時(shí)間點(diǎn)的不同處理器導(dǎo)出的,而且它本可以采用的存儲(chǔ)器結(jié)構(gòu)與您將要使用的迥然不同。特定的或自定義基準(zhǔn)測(cè)試是分析過(guò)程的一部分,有助于填補(bǔ)行業(yè)標(biāo)準(zhǔn)基準(zhǔn)測(cè)試與您應(yīng)用需求之間的空白。
有幾類(lèi)基準(zhǔn)測(cè)試用戶(hù)退出了。顯而易見(jiàn)的基準(zhǔn)測(cè)試用戶(hù)是嵌入式系統(tǒng)設(shè)計(jì)師或者是成為銷(xiāo)售組織營(yíng)銷(xiāo)對(duì)象的終端用戶(hù)。但是,據(jù)幾個(gè)基準(zhǔn)組織說(shuō),終端用戶(hù)并不是行業(yè)標(biāo)準(zhǔn)基準(zhǔn)測(cè)試結(jié)果的主要用戶(hù)群體?;鶞?zhǔn)測(cè)試作為主要決策依據(jù)還不充分,因?yàn)樗鼈儾荒芫_地反映每個(gè)嵌入式系統(tǒng)設(shè)計(jì)師的應(yīng)用需求。例如,許多基準(zhǔn)測(cè)試是內(nèi)核級(jí)的,不考慮與設(shè)計(jì)師在最終應(yīng)用中要使用的操作系統(tǒng)的交互作用。
當(dāng)終端用戶(hù)使用基準(zhǔn)測(cè)試結(jié)果時(shí),他們同各個(gè)處理器廠商的合作常常比同基準(zhǔn)組織的合作更為密切,以便獲得性能數(shù)據(jù)和復(fù)制測(cè)試結(jié)果方面的幫助,并了解基準(zhǔn)測(cè)試配置如何適用于他們的設(shè)計(jì)要求。終端用戶(hù)可能使用基準(zhǔn)測(cè)試作為縮減候選處理器名單的一個(gè)“輸入”,但是其他項(xiàng)目如一組集成特性、支持的I/O接口、開(kāi)發(fā)工具、培訓(xùn)、文檔、第三方開(kāi)發(fā)支持基礎(chǔ)設(shè)施以及規(guī)劃風(fēng)險(xiǎn),都將在排除候選處理器時(shí)起重要作用。通常,終端用戶(hù)基準(zhǔn)測(cè)試是一個(gè)僅適合于立即進(jìn)行的設(shè)計(jì)項(xiàng)目的特殊過(guò)程。
許多處理批量大而對(duì)價(jià)格敏感的設(shè)計(jì)的OEM(原始設(shè)備制造商),都根據(jù)自己的自定義基準(zhǔn)測(cè)試來(lái)選擇處理器。自定義基準(zhǔn)測(cè)試可以由既有應(yīng)用代碼構(gòu)成,但也可能包括來(lái)自行業(yè)標(biāo)準(zhǔn)基準(zhǔn)測(cè)試的代碼。有些OEM成為基準(zhǔn)組織的成員,以便獲得基準(zhǔn)測(cè)試源代碼,因此,他們能將該源代碼的一部分合并到他們的自定義基準(zhǔn)測(cè)試套件中。這些基準(zhǔn)測(cè)試套件只能滿足范圍狹小的目標(biāo)需求,所以更詳細(xì)、更全面。行業(yè)標(biāo)準(zhǔn)基準(zhǔn)努力在相關(guān)性、復(fù)雜度和成本之間取得平衡,能滿足范圍較廣的應(yīng)用需求。通常,OEM基準(zhǔn)測(cè)試工作對(duì)競(jìng)爭(zhēng)很敏感,只供內(nèi)部使用
評(píng)論