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