《CPU主頻和內核數量以及服務器性能之間的關系》要點:
本文介紹了CPU主頻和內核數量以及服務器性能之間的關系,希望對您有用。如果有疑問,可以聯系我們。
在系統維護工作中曾經被問到CPU內核數量和主頻之間的關系的一個問題,當時和服務器廠家磨嘰了幾個小時也沒有得到一個令人信服的答案,只好通過查閱相關資料以及和同事討論后有了個清晰的答案.現將該問題整理了一下分享出來,以供大家學習和參考.
疑惑1:服務器的主頻怎么計算?單顆主頻*內核數量嗎?
疑惑2:服務器cpu的性能依賴于cpu的主頻?
疑惑3:多核處理出現的原因?
疑惑4:多核處理器的優勢在哪里?
疑惑5:多核處理器帶來的挑戰是什么?
疑惑6:如何發揮多核服務器應有的性能?
1. 服務器的主頻怎么計算?單顆主頻*內核數量嗎?
服務器cpu的主頻和內核的數量是沒有關系的,也就是說如果你的cpu的一個線程(一個core)的主頻是2GHZ的話那么你的服務器的主頻就是2GHZ.
2. 服務器cpu的性能依賴于cpu的主頻?
cpu的性能依賴于CPU的主頻嗎?非也,主頻只是其中一個比較重要的參考依據而已,其中還有其他重要的參數指標決定了cpu的性能.
其中CPU的性能由主頻、管線架構或長度、功能單元數目、緩存設計四個方面決定,我捫常將“管線架構或長度、功能單元數目、緩存設計”這三個方面統稱為CPU的架構,也就是說CPU的性能由CPU的主頻和CPU的架構這兩個方面來綜合決定.
從以往CPU發展歷史來看,CPU頻率的增長帶來的是性能上量的增長,而架構的改變往往帶來其性能上質的飛躍,所以相對而言同樣的架構,主頻高低不同,CPU處理能力才有可比較性;而不同架構的CPU之間性能的差別就可能給人們帶來完全不同的體驗了.也正是CPU架構方面的原應才造成了很多同頻的AthlonXP比P4處理器更快這一現實.
所以只有在同一家族的CPU中進行比較,核心數量、主頻與CPU的運行速度才有正比關系,還有影響的因素是2、3級緩存的大小.核心版本和工藝的升級也有影響.一般在同一家族的CPU中,核心越多、主頻越高、緩存越多、版本越新的CPU越快.
3. 為什么會出現多核處理器呢?
多核技術的開發源于工程師們認識到,僅僅提高單核芯片的速度會產生過多熱量且無法帶來相應的性能改善,先前的處理器產品就是如此.他們認識到,在先前產品中以那種速率,處理器產生的熱量很快會超過太陽表面.即便是沒有熱量問題,其性價比也令人難以接受,速度稍快的處理器價格要高很多.
CPU從誕生之日起,主頻就在不斷的提高,如今主頻之路已經走到了拐點.面對主頻之路走到盡頭,Intel和AMD開始尋找其它方式用以在提升能力的同時保持住或者提升處理器的能效,而最具實際意義的方式是增加CPU內處理核心的數量.
英特爾工程師們開發了多核芯片,使之滿足“橫向擴展“(而非“縱向擴充“)方法,從而提高性能.
4. 多核處理器的優勢有哪些?
該架構實現了“分治法“戰略.通過劃分任務,線程應用能夠充分利用多個執行內核,并可在特定的時間內執行更多任務.多核處理器是單枚芯片(也稱為“硅核“),能夠直接插入單一的處理器插槽中,但操作系統會利用所有相關的資源,將它的每個執行內核作為分立的邏輯處理器.
通過在多個執行內核之間劃分任務,多核處理器可在特定的時鐘周期內執行更多任務.多核架構能夠使目前的軟件更出色地運行,并創建一個促進未來的軟件編寫更趨完善的架構.盡管認真的軟件廠商還在探索全新的軟件并發處理模式,但是,隨著向多核處理器的移植,現有軟件無需被修改就可支持多核平臺.操作系統專為充分利用多個處理器而設計,且無需修改就可運行.為了充分利用多核技術,應用開發人員需要在程序設計中融入更多思路,但設計流程與目前對稱多處理(SMP) 系統的設計流程相同,并且現有的單線程應用也將繼續運行.現在,得益于線程技術的應用在多核處理器上運行時將顯示出卓越的性能可擴充性.
5. 多核處理器帶來的挑戰又是什么?
挑戰一:與單核處理器相比,多核處理器在體系結構、軟件、功耗和安全性設計等方面面臨著巨大的挑戰.
挑戰二:許多歷史程序沒有采用并行編程,例如一些文件壓縮軟件、部分游戲軟件等等.對于這些單線程的程序,單獨運行在多核處理器上與單獨運行在同樣參數的單核處理器上沒有明顯的差別.這樣會導致服務器資源的閑置和浪費從而無法發揮服務器性能.
6. 如何更好的發揮多核服務器的性能?
1)程序采用線程級并行編程,那么這個程序在運行時可以把并行的線程同時交付給多個核心分別處理,因而程序運行速度得到極大提高.這類程序有的是為多路工作站或服務器設計的專業程序,例如專業圖像處理程序、非線視頻編緝程序、動畫制作程序或科學計算程序等.
2)日常應用中的另一種模式是同時運行多個程序.許多程序沒有采用并行編程,例如一些文件壓縮軟件、部分游戲軟件等等.對于這些單線程的程序,單獨運行在多核處理器上與單獨運行在同樣參數的單核處理器上沒有明顯的差別.但是,由于日常使用的最最基本的程序——操作系統——是支持并行處理的,所以,當在多核處理器上同時運行多個單線程程序的時候,操作系統會把多個程序的指令分別發送給多個核心,從而使得同時完成多個程序的速度大大加快.