使用超線程提升處理器性能
使用超線程提升處理器性能
超線程是Intel 所研發(fā)的一種技術(shù),于2002年發(fā)布。超線程能提升處理器嗎,下面是學(xué)習(xí)啦小編帶來的關(guān)于使用超線程提升處理器性能的內(nèi)容,歡迎閱讀!
使用超線程提升處理器性能:
處理器設(shè)計師總是關(guān)注于不同的性能提升策略,為的是在每個時鐘周期內(nèi)完成盡可能多的計算。更快的頻率、更大的數(shù)據(jù)路徑以及不同的指令集方式都提升了性能。但是,性能提升最可能引起誤解的一個方面就是超線程對處理器性能的影響。
超線程能夠提升處理器效率已經(jīng)得到了證實,但是其并不適用于所有場景,而且現(xiàn)代處理器設(shè)計可能會令超線程成為明日黃花。
超線程工作原理
傳統(tǒng)的處理器隊列指令在傳輸?shù)教幚砥鞯膱?zhí)行引擎之前會通過流水線架構(gòu)。應(yīng)用設(shè)計以及需求差異總是會在處理器的指令管道中留有空隙,導(dǎo)致存在空閑的處理器時鐘周期。糟糕的程序設(shè)計可能會浪費時鐘周期并降低處理器性能。
為了優(yōu)化處理器架構(gòu)并提升多任務(wù)處理的可能性,處理器設(shè)計人員增加了與一級管道共享執(zhí)行引擎的二級管道。設(shè)計人員想讓第二個線程或者任務(wù)的相關(guān)指令在單個管道中排隊,當(dāng)?shù)谝粋€指令管道空閑時再通過執(zhí)行核心運行這些指令。Intel開發(fā)了超線程技術(shù),增強(qiáng)了計算機(jī)系統(tǒng)上的多線程并行處理。
在處理器核心中包括第二級指令管道,操作系統(tǒng)會識別到兩個獨立的處理器。能夠?qū)⒒顒臃纸鉃閱为毴蝿?wù)的應(yīng)用程序能夠利用處理器超線程技術(shù)。單獨的指令序列幫助處理器調(diào)度工作負(fù)載以有效地使用其指令引擎,這反過來提升了核心的計算能力。
然而,處理器核心仍舊只有一個執(zhí)行引擎,因此超線程帶來的性能提升取決于正在被調(diào)度的工作負(fù)載的設(shè)計與實現(xiàn)方式。性能改善從不會超過通過增加第二個核心所帶來的提升,增加第二個核心通常會使處理器的計算資源成倍增加。
在實現(xiàn)超線程之前需要具備哪些條件
處理器、BIOS、操作系統(tǒng)以及工作負(fù)載構(gòu)成了超線程服務(wù)器應(yīng)具備的四大基本元素。當(dāng)代大多數(shù)操作系統(tǒng)能夠支持超線程: 2002年Intel在至強(qiáng)處理器中就引入了目前已經(jīng)很完善的超線程技術(shù),現(xiàn)在Itanium以及Atom處理器也支持超線程。
然而,處理器需要特定的軟硬件元素,包括服務(wù)器主板對BIOS提供支持。超線程的成熟特性幾乎保證了對BIOS的合理支持,通過設(shè)置BIOS允許系統(tǒng)技術(shù)人員啟用超線程及相關(guān)的活動。
由于OS在指令隊列中解析工作負(fù)載任務(wù)并處理任務(wù)調(diào)度,因此操作系統(tǒng)也必須支持超線程。目前,大多數(shù)企業(yè)級操作系統(tǒng),包括Windows Server 2012以及SuSE和Red Hat Linux的某些新的發(fā)行版都支持HT和SMT.檢查操作系統(tǒng)文檔以確認(rèn)HT支持所有數(shù)據(jù)中心平臺。
最后,應(yīng)用設(shè)計本身也影響超線程。設(shè)計為能夠借助超線程優(yōu)勢的SMT應(yīng)用要比只是部署在啟用超線程服務(wù)器的應(yīng)用性能更好。因為處理器版本、BIOS版本、OS版本以及應(yīng)用設(shè)計都影響超線程,因此很難準(zhǔn)確判斷對性能有多大提升。
超線程如何影響虛擬服務(wù)器
超線程通常提升了單核處理器的性能,但不幸的是,處理器性能提升并不等于更不可能超越多核的性能優(yōu)勢。你無法基于核心或者插槽來選擇啟用或者禁用超線程,而且在某些情況下,超線程有可能會對處理器虛擬化帶來不良影響。因此,很多管理員選擇禁用超線程。
超線程技術(shù)增強(qiáng)了處理器組織及調(diào)度應(yīng)用任務(wù)的方式,提升了性能。然而現(xiàn)代企業(yè)服務(wù)器至少使用有8到10個核心的多核處理器。在大多數(shù)情況下和超線程相比,可用的計算資源能夠帶來更好的性能提升。超線程還可能會對處理器虛擬化的方式帶來不良印象。
例如,當(dāng)啟用超線程時虛擬化特性比如CPU關(guān)聯(lián)性并非總是能夠很好地運行。超線程在每個核心上創(chuàng)建了兩個邏輯處理器,但是這些邏輯處理器仍舊共享物理核心的計算資源。因此,當(dāng)虛擬機(jī)或者單個SMP虛擬機(jī)試圖使用位于同一個物理核心上的vCPU時可能會發(fā)生資源爭用,出現(xiàn)性能瓶頸。
實際上,服務(wù)器上可用的核心數(shù)量可能會導(dǎo)致超線程浪費計算資源。如果一臺服務(wù)器包括4顆10核處理器,那么一共有40個核心,運行在Windows Server 2008 R2的Hyper-V服務(wù)器支持64個邏輯處理器。如果啟用超線程,服務(wù)器將提供80個邏輯處理器,這樣就有16顆邏輯處理器處于空閑狀態(tài),而且?guī)缀趵速M了整個處理器插槽。在這種情況下超線程帶來的性能提升不會超過物理核心所增加的計算能力。
看了使用超線程提升處理器性能文章內(nèi)容的人還看:
5.玩轉(zhuǎn)4k分辨率的cpu推薦4k電視和4k顯示器日漸繁榮,不可...
7.中高端CPU推薦