性能與能效 辨析服務器評測要素
我們無法用簡潔的言語概括計算機的性能,其實皆因它的體現(xiàn)必須要借助其他手段。這就如同要要看一個人的品格是否端正必須從觀察其平日言行著手一樣,要評估一個計算機的性能,我們也必須通過運行應用程序或計算任務的方法來考察。這種考察通常有兩種,一是看執(zhí)行時間,一種是看流量。
這里所謂的執(zhí)行時間,是指計算機完成一個計算任務的時間,能以最快速度完成指定任務的系統(tǒng),我們說它的性能就是最高的。這種以執(zhí)行時間度量性能的方法,較適用于執(zhí)行單任務的環(huán)境,而要測試像服務器這種幾乎時刻都在并行執(zhí)行多個任務的計算機系統(tǒng),考察其流量,也就是看系統(tǒng)在單位時間能完成多少計算任務則是必須的,事實上,很多擁有大規(guī)模數(shù)據(jù)中心的管理者,都對提升服務器的工作流量非常在意。
如何體現(xiàn)服務器性能
了解了服務器性能的體現(xiàn),我們也就明晰了它的概念——它其實并不像其他產(chǎn)品那樣側重功能和質量,而是一種技術能力的反應,而且這種能力的高低,必須要用應用來體現(xiàn)和衡量。
摸清計算機的性能后,進而理解能效也就不再困難。它是系統(tǒng)的性能與功耗的比值,也就是每瓦功耗換得的性能。只不過,這個功耗并不是一個瞬時值,而應該是系統(tǒng)執(zhí)行單個或多個任務時的平均功耗。
能效這一概念在最近幾年來很受業(yè)界及用戶追捧,主要是因為能源緊缺以及能源浪費帶來的環(huán)境危機越來越嚴重所致,這促使人們也開始用“吃多少草、擠多少奶”,甚至是“少吃草、多擠奶”的原則來指導計算機技術的發(fā)展。英特爾的智能服務器處理器在利用全新微架構大幅提升性能的同時,還不忘導入智能節(jié)能技術來根據(jù)應用負載精細地調(diào)節(jié)自身的功耗,去盡力實現(xiàn)輸出多少性能就消耗多少電能的目標,其實就是受這一量入為出的原則影響。
我們在這里重談服務器或計算機系統(tǒng)的性能和能效概念,其實并不僅僅是要幫助大家溫習它們,而是希望說明它們都是時刻處于動態(tài)變化中的。暫且不論同一臺系統(tǒng)在兩次運行同一應用中表現(xiàn)出的細微性能差異,相信在很多媒體朋友評測服務器時,也會經(jīng)常遇到它在某些理論性能測試中表現(xiàn)出色,但在貼近實用的測試中表現(xiàn)卻不盡人意,或是一臺系統(tǒng)在不同類型的應用測試中表現(xiàn)不一的情況吧?這種變化確實令人困擾,但對它們進行客觀深入的分析,找出造成變化的因素和能推動這種變化向良性發(fā)展的方案,則就是對最終用戶采購和應用服務器非常有意義的事情了。
如今人們在談及影響一個人或一個組織機構的能力或競爭力的因素時,總愛引用“木桶原理”,即以木桶盛水多少是由其最短一塊木板決定的物理現(xiàn)象,來形象地說明個人或機構在某個環(huán)節(jié)或方面的不足,可能會拖累其長處的發(fā)揮、進而拉下其整體水平的現(xiàn)象。其實,這個原理對于包括服務器在內(nèi)的所有計算機系統(tǒng)也同樣適用。本著以小見大的原則,我們想先從處理器入手,來說明該原理對計算機系統(tǒng)的影響。
眾所周知,在多核時代到來之前,人們選擇處理器時最看重的規(guī)格就是其時鐘頻率,而在多核處理器普及后,又有一些廠商和用戶傾向于以內(nèi)核數(shù)量的多少來判斷其性能高下,其實,這兩種做法都有失偏頗。大家還記得我們在上一篇文章中提及的——計算機系統(tǒng)的性能是通過它完成特定程序或計算任務所需的時間來體現(xiàn)和衡量的理念吧?以此為基礎,業(yè)界的專家早在上世紀80年代就提出了一個處理器性能公式,點出了影響它的三大要素,即時鐘頻率、每時鐘周期可執(zhí)行指令數(shù)(縮寫為IPC)以及應用程序的優(yōu)化情況。
時鐘頻率對于處理器性能的作用無須贅言。但是,只有在IPC相同的情況下,其快與慢才能反映處理器性能的強弱,而在處理器微架構不同、IPC有差異明顯的情況下還執(zhí)著于時鐘頻率的比較,就不免會步入歧途了。
#p#
服務器評測要注意什么
再談IPC,它其實就等同于處理器的效率,現(xiàn)階段絕大多數(shù)處理器在微架構方面的改進,主要目標都是為了提高IPC。例如英特爾從NetBurst到Core,再到現(xiàn)在的Nehalem微架構,最大的進步就在于IPC越來越強。增加處理器內(nèi)核數(shù)量同樣有助于提升總的IPC,但就像我們不能單純以時鐘頻率來判斷處理器的性能一樣,我們也不能僅僅依據(jù)處理器內(nèi)核數(shù)量的多少來預測其表現(xiàn)。
舉例來說,假如一款處理器單個內(nèi)核的平均持續(xù)IPC要高于另一款處理器,那么后者內(nèi)核數(shù)量即使比它多,在性能上也不一定能超越前者,這說明處理器并不是內(nèi)核數(shù)量越多就越強,而應是總體的實際工作效率越高越好。如果有了出色的實際單時鐘周期指令處理能力,再乘上較高的時鐘頻率,這樣的處理器在設計上也就奠定了實現(xiàn)高性能的基石。
相對于以上兩點,應用程序的優(yōu)化這一偏“軟”的因素對處理器性能的影響可能就有些令人費解了,但看到很多單線程軟件在多核平臺上不盡人意的表現(xiàn)后,大家可能就會明白其意義所在。這種優(yōu)化,在過去是指要盡量精簡程序的指令,而在今天,則還包括了針對處理器多線程并行處理能力的優(yōu)化,惟有如此,它才能真正最大化地利用到并反映出處理器的性能。
上述三個因素,嚴格來說只是決定處理器性能表現(xiàn)的最關鍵的因素而已,它們中有任何一個成為短板,勢必就會帶來不利影響,因此它們之間達到一種平衡的狀態(tài)就非常重要。當然,如果我們考察的是處理器的能效的話,那么需要平衡的因素就還會包括它的功耗。#p#
總結
現(xiàn)在我們?nèi)绻麑⒁曇皬奶幚砥鞣糯蟮秸麄€服務器系統(tǒng),不難發(fā)現(xiàn),這個木桶原理依然有效,只不過處理器的性能此時已成為了影響服務器性能的一個因素而已,與它同等重要的,還有內(nèi)存子系統(tǒng)的數(shù)據(jù)傳輸延遲、帶寬和內(nèi)存容量,存儲子系統(tǒng)的數(shù)據(jù)讀寫和傳輸速度,網(wǎng)絡子系統(tǒng)的帶寬和預處理能力,以及處理器與這些子系統(tǒng)彼此之間的I/O性能等等。它們都相當于服務器這個大木桶上的一板,誰的表現(xiàn)不濟,都可能牽一發(fā)而動全身,浪費其他“長板”的優(yōu)勢,或影響服務器的整體性能表現(xiàn),或讓其在某些應用中出現(xiàn)反常的變化。
針對這種情況,爭取達到平衡依然是解決之道,英特爾現(xiàn)有的智能至強處理器平臺在這方面的表現(xiàn)就值得一提:它的處理器不僅導入了擁有出色IPC、并支持較高時鐘頻率的Nehalem微架構,而且它還通過處理器內(nèi)置DDR3內(nèi)存控制器和高速串行QPI總線避免了內(nèi)存子系統(tǒng)和系統(tǒng)I/O上的瓶頸,而英特爾建議為其搭配的固態(tài)硬盤(SSD)和支持RSS隊列的網(wǎng)卡芯片,則成功讓存儲和網(wǎng)絡子系統(tǒng)的性能能夠盡量跟上處理器的節(jié)奏,最后,英特爾的Parallel Studio,則為最讓用戶和軟件開發(fā)商頭疼的多線程應用的開發(fā)和優(yōu)化難題提供了解決方案。
由此來看,兼顧所有可能影響系統(tǒng)性能、能效表現(xiàn)的因素,應該是IT廠商在產(chǎn)品設計、開發(fā)過程謹遵的原則。但面對多樣化、差異化的應用環(huán)境,真要做到面面俱到、平衡完美,其難度可想而知,因此用戶在應用服務器產(chǎn)品的過程中,還是會遇到各種各樣的問題,而分析這些問題,通過評測的手段找出其背后隱藏的短板,并與廠商共同尋求應對措施,就是資深的媒體評測工程師和用戶技術人員能夠充分體現(xiàn)自身價值的地方了。我們提出評測要向應用靠攏,也正是為達到這一效果。
【編輯推薦】