歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

CPU如何影響IA服務器的性能?

人們在購買服務器時,往往希望CPU的速度越快越好,因為人們認為CPU越快,服務器的性能就越好,然而,事實並非如此簡單。通過性能測試並對結果進行分析,我們發現速度僅是影響服務器性能的CPU諸因素中的一方面,還存在很多甚至更重要的CPU的其他因素影響服務器性能的發揮。我們將重點分析CPU諸因素中對服務器性能有較大影響的一些因素,以方便人們在選購IA 服務器時參考。

Intel CPU主要組成部件

構成CPU的主要部件有:CPU 內核(Pentium Processor Core)、一級緩存(L1 Cache)、二級緩存(L2 Cache)、BSB(Backside Bus)和FSB(Frontside Bus)。

CPU內核:是真正意義上的處理器,用於執行指令和處理數據,其計算能力與CPU的速度密切相關。

一級緩存:高速緩存器,為CPU提供其計算所需的指令和數據,與CPU內核同頻工作。一般由指令緩存器和數據緩存器兩個分離的大小相等的部分組成。目前大小分別為16KB。

二級緩存:高速緩存器,提供CPU計算所需的指令和數據。通常由三個部件組成:L2 Cache Controller、Cache SRAM和Cache tag RAM。分別用作控制器、存儲器和緩存檢索表。

BSB(Backside Bus):通常稱之為後端總線。互連CPU內核和二級緩存的總線。主要負責向CPU提供L2 Cache所存儲的指令和數據。BSB提供了66MHz、半速、全速三種速度。BSB速度決定了CPU訪問Cache的速度。由於CPU所需的指令和數據主要來自於L2 Cache,所以BSB速度對系統性能有非常重要的影響。

FSB(Frontside Bus):即通常所說的前端總線。互連CPU和主板芯片組的總線,一般用於互連CPU和內存控制器。FSB的速度即是通常所說的外頻。FSB速度的高低影響CPU對主內存的存取。目前主流的外頻為133MHz,服務器部分(四路至強處理器的服務器)仍采用100MHz。

Intel Pentium III CPU介紹

目前,PIII CPU有帶“E”和帶“B”的兩種,那麼帶E和不帶E,帶B和不帶B的CPU有何區別?

Intel公司推出了兩代Pentium III 處理器。第一代是:Pentium III(開發代碼Katmai)和Pentium III Xeon CPU(開發代碼Tanner);第二代是支持133MHz外頻或具有ATC技術的Pentium III(開發代碼Coppermine)和Pentium III Xeon CPU(開發代碼Cascades)。為了區分,在命名PIII CPU時用E代表采用ATC技術的CPU;用B代表支持133MHz外頻的CPU;若兩者都具備則該CPU稱之為EB型。

對於外頻為133MHz的CPU大家較易理解,無非是提高CPU訪問內存的帶寬。那麼ATC指的是什麼呢?為講清楚ATC,我們不妨先了解第一代Pentium III CPU有何特點?

第一代PIII CPU與PII CPU相比,相同點是仍然采用0.25微米的加工工藝,L2 Cache芯片和CPU芯片是分離的,連接它們的數據帶寬是64位。不同點是新增8個128位寄存器和70條指令(稱之為SIMD指令集),同時提高了CPU的工作頻率。第二代PIII CPU采用了0.18微米的加工工藝,與第一代相比,其CPU內核芯片面積減少了30%。為此Intel將內核芯片和L2 Cache芯片封裝在同一芯片內,於是用於連接CPU內核和L2 Cache的BSB非常短,更利於解決高速傳輸中的電氣噪音等干擾問題,提供了以前僅在P-Pro和Xeon CPU才提供的全速通信,大大提高處理器訪問L2 Cache的速度。

另一方面,在BSB方面有一重大突破的是,BSB的數據寬度由以前的64位上升為256位。這一提高對系統,尤其是CPU有何影響呢?

為此先向大家引入一新名詞:Cache Line。

為了改進性能,Intel處理器訪問內存時采用一種稱之為Cache Line的技術。每次CPU訪問內存時,以Cache Line為單位,請求一個或多個Cache Line。對於P5和P6類CPU來說,一個Cache Line由32字節的數據或指令組成,也就是一個Cache Line共256位,當CPU向L2 Cache請求1個Cache Line時,那麼將從BSB上向CPU傳輸256位數據或指令,如果BSB為64位寬,那麼至少要分4次傳輸,如果每次傳輸能在1個Clock內完成,則傳完一個Cache Line至少需要4個Clock;若BSB數據寬度為256位,則只需在1個Clock內完成。

顯然第二代PIII CPU即Coppermine和Cascades大大減少了訪問L2 Cache的時延,進而提高了系統性能。Intel將此種技術(256位的BSB總線技術)稱為Advanced Transfer Cache簡稱ATC。

Intel不僅改進了BSB總線技術,而且在L2 Cache內部性能上也有重大改進。

Coppermine和Cascades的L2 Cache將第一代L2 Cache的4路集關聯(4-way set associative)提高到8路集關聯。緩存關聯度的提高不僅減少了檢索存儲在L2 Cache裡內存地址的查詢時間,而且提高了L2 Cache的命中率。 總而言之,Coppermine和Cascades與第一代PIII CPU相比,最大的改進是采用了ATC技術,以及提高了L2 Cache的關聯度。

對於Coppermine和Cascades來說,它們都采用相同的處理器和相同的全速L2 Cache技術。據測試,一個256KB L2 Coppermine與256KB L2 Cascades有相同的性能。然而Cascades (即目前的PIII Xeon)處理器具有以下特點:

能訪問最多達64GB的內存,而Coppermine僅能訪問4GB內存。
支持2MB的L2 Cache,而Coppermine僅有256KB的L2 Cache。
在一條FSB上可以最多支持4顆處理器,而Coppermine僅能支持2顆。
可見,PIII Xeon處理器比PIII CPU在性能上有了很大的提高,這也是為什麼采用至強處理器的服務器的價格要高於采用普通處理器的服務器。
CPU速度、CPU數量、L2 Cache與服務器性能

CPU速度與服務器性能 CPU速度與性能有這樣一種關系: 若CPU1主頻為M1,CPU2主頻為M2,CPU1和CPU2采用的是相同技術,M2 >M1,且M2-M1< 200MHz, 則配置CPU2較配置CPU1性能提升(M2-M1)/ M1×50%。通常稱之為:CPU的50%定律。一般地,兩CPU主頻越接近,越符合此50%定律。

CPU數量與服務器性能 SMP: 即Symmetric Multiprocessing 對稱多處理。指的是系統中的多個CPU對稱地訪問系統的所有硬件資源,譬如內存、I/O總線和中斷。目前只有Xeon(至強)系列CPU才支持大於2路的SMP系統。Pentium II和Pentium III只支持2路SMP。

增加服務器的CPU時究竟對性能有何影響?我們通過一個實例來說明:

有一款可支持8路SMP Xeon CPU的高端服務器,假定系統的內存足夠大,網絡速度足夠快,硬盤速度足夠快。也就是增加CPU時系統不存在瓶頸。從一顆Xeon CPU擴展到2顆Xeon CPU時性能提升70%;增加到4顆Xeon CPU時,性能提升200%;當CPU擴展到8顆時,系統性能是1顆CPU的5倍,即提升了400%。

一般說來,CPU的擴展性具有如下特點:對於標准的不帶ATC特點的Xeon CPU,如Tanner,擴展CPU所帶來的性能增長情況如下:

1 CPU=1;2 CPU=1.7;4 CPU=3.0;8 CPU=5.0。

對於目前最新的具有ATC技術的Cascades PIII Xeon CPU來說,其擴展性能如下:

1 CPU=1;2 CPU=1.6;3 CPU=1.9;4 CPU=2.0。

L2 Cache與服務器性能 隨著CPU數量的增加,L2 Cache大小對系統性能的影響也越來越明顯。譬如對於一個4路的SMP服務器而言,當只安裝一個CPU時,對內存訪問幾乎沒有競爭,因此若L2 Cache不能滿足CPU的需求時,內存可以在CPU等待之前做出響應,所以CPU的運行狀況與L2 Cache的命中率幾乎無關。

另一方面,若安裝了4顆Xeon CPU,那麼訪問內存的隊列、訪問內存的時間將明顯增加,從而增加了CPU的潛在等待時間,在這種情況下,L2 Cache的高命中率將節省大量的時間,顯著提高處理器的性能。總的說來,CPU越多,越大的L2 Cache給系統帶來的性能越明顯:

對於1或2個CPU而言,L2 Cache大小增加一倍,系統性能提高3~5%;
對於3或4個CPU而言,L2 Cache大小增加一倍,系統性能提高6~12%;
對於8個CPU而言,L2 Cache大小增加一倍,系統性能提高15~20%;
最後給大家提供一個參考建議,這是我們在研發方正圓明服務器時根據測試結果總結出來的,有關不同數量、不同主頻、不同型號CPU配置的服務器性能對比情況,供大家參考:
目前方正圓明系列服務器已全面采用第二代Pentium III CPU。部門級服務器圓明2200,標配支持133外頻和ATC緩存技術的PIII Xeon 866MHz CPU,最大可達到2顆。圓明1700、1600R標配支持ATC 緩存技術的PIII 700 MHz CPU,最大可支持2顆CPU。圓明4100支持4顆PIII Xeon CPU,內存最大可支持16GB ECC SDRAM,目前標配2顆或1顆700MHz,二級緩存1MB,標配512MB內存,充分根據本文所分析的性能增長情況配置,通過第三方性能測試實驗室測試圓明4100的Serverbench結果也高達1400TPS以上。




Copyright © Linux教程網 All Rights Reserved