2012年4月30日

超線程降低了性能?HT利弊再引爭議

超線程(Hyper-Threading)作為一種提升CPU性能的技術獲得廣泛應用,Intel在P4時代首次為桌面級CPU帶來超線程加 速,Core時代沉寂了,Nehalem之後到現在又重新應用在其CPU中,當然現在的HT與P4時代的HT有所不同,按照Intel的說明,HT技術在 不增加物理核心的情況可以帶來10-20%的性能提升。

  雖然開啟HT在大部分多線程應用中有明顯的性能提升,但是有關HT會降低CPU性能的論據也不少,早前Bitsum就發文聲稱HT技術會「傷害」CPU性能,其論據主要是微軟支持庫的文章,在Windows 2003 Server優化指南中微軟建議禁用超線程技術以提高性能,因為這種可以自我調整的HT算法會帶來一些混亂,操作系統的調度器(Scheduler)往往不能識別物理核心和虛擬核心的區別,可能把本該物理核心處理的任務分配給虛擬核心。

  SA網站針對這個論點做了測試,對比了i7-3770K在開啟HT與關閉HT下的成績,結果如下:

  大部分情況下關閉HT的性能都要低於開啟HT的情況,結果也與我們做過的CPU測試相同,平均下來關閉HT時的性能只有HT開啟時的90%。

  SA作出的結論是否定HT技術的想法是杞人憂天,大部分情況下超線程技術帶來的是性能提升而不是降低,而且優勢還很明顯,何樂而不為。

  事情到此並不算完,下面的讀者在評論中稱開啟HT技術在有些項目確實有提升,但是遊戲幀數不如關閉HT時平滑,特別是最低幀方面,並貼出了在Overclock網站的發帖,他舉了戰地3的例子,開啟HT時平均幀在84fps左右,最低幀在34-51幀左右,而關閉HT後平均幀在86fps上下,最低幀為40-59fps。他的表述也得到了很多玩家的贊同,表示遊戲中開了HT確實不如關閉時更流暢。

  還有其他玩家援引Xtremesystems論壇以及Youtube上的視頻來證明自己的說法,這裡就不一一列舉了。

  從自己做過的測試來看,在多線程支持較好的應用中HT效果還是很明顯的,但是遊戲跟應用程序不太一樣,它們普遍只對雙核優化,真正對四核優化的都不多,更別說開啟HT之後的8個核心了,而且遊戲幀數波動比較大,偶爾幾次的fps數據很難證明就是HT導致的。

  但是從另一方面看,HT虛擬出的核心畢竟不是真的物理核心,微軟在Windows 2003的優化中肯定也是做過研究的,系統的調度器存在分配不當的可能,不過這個問題也算是解決了,今年初微軟發佈的任務調度補丁名義上是給AMD的推土機準備的,實際上則是優化了調度器的任務分配,因為推土機的模塊化架構也算是一種超線程技術,不過是物理核心,而Intel是虛擬核心。

  這樣的爭議還會一直存在,而HT超線程總體上還是利大於弊,多線程應用中效果明顯,至於所說的性能降低問題,如果玩家覺得遊戲中幀數確實不夠流暢,可以試試關閉HT(前提是硬件配置沒問題,顯卡不是瓶頸),畢竟四核或者八核對遊戲來說沒區別。

http://www.expreview.com/19304.html

沒有留言:

發佈留言