HT (Hyper-Threading) 要啟用?還是開閉?每次換新電腦,就要傷腦筋一次。但是為了讓買電腦的錢,能夠充分發揮它的作用,再做一次整理,顯然是必要。
當然,筆者的資本、時間有限,無法自已做實驗,只好借助 Google 強大的搜尋能力,找一找各方高手的報告,再做個整理。根據比較完整的幾篇報告(參考篇末的網路連結),整理得到的結論如下:
一、依 CPU 來區分
以 CPU 的發表時間來區分,可概分為:早期的 HT 版本,現在的 HT 版本。早期的 HT 版本
在 Pentium 4 時發表的 Hyper-Threading 版本,是屬於早期版本。在當時只是新發展的技術,增加的效能有限,約只有 15 ~ 30%。再加上作業系統(包含 Windows 和 Linux)、應用程式的支援度不足,有些測試報告效能反而略有降低。有些測試報告指出,在啟用 HT 後功耗會略有增加。功耗的增加,也導致散熱的問題。因此這些測試報告會建議使用者,最好在 BIOS 裏,把 HT 的功能關閉(有些 BIOS 是預設關閉 HT)。
現在的 HT 版本
Core i 以後的版本,HT 的支術有再改進,功耗問題也有解決。在加上作業系統和應用的支援,啟用 HT 的確有增加整個系統的效能表現。二、依作業系統來區分
Hyper-Threading 技術,只是將一個 CPU 模擬成雙核 CPU(即:「實體核心」和「模擬核心」),兩個核心的效能並不相等,在「多執行緒」(Multi-thread)的程式執行時,若作業系統不能分辨兩個核心的不同。例:將「運算為主的執行緒」指定由較慢的核心(模擬核心)執行,而反將「輸出入為主的執行緒」指定給較快的核心(實體核心),這種不良的執行緒指定會降低系統的效能。所以,除了應用程式要支援「多執行緒」外,作業系統也要能分辨兩種核心的不同,將「運算為主」的執行緒指定由「實體核心」執行。
Windows 2003 及 Linux 2.4 之前
Windows 2000,Windows 2003 和 Windows XP 都有測試報告:啟用 HT 未必能增加效能,有時反而會降低。而這些時期的應用程式,也未對多執行緒進行最佳化。因此,這時期的測試報告,多數建議關閉 HT,以提昇效能。Windows Vista 及 Linux 2.6 之後
作業系統逐漸增加對 HT 的支援,對於「實體核心」和「模擬核心」的執行緒指定,也比較有效率。應用程式也多對執行緒進行最佳化。因此,在這時期的電腦系統中,將 HT 啟用可以增加整個系統效能。三、結論
綜合以上資料可以得到一個結論,以較保守的估計將之列表如下:作 業 系 統 | CPU | ||
---|---|---|---|
Pentium 4 | Core i 後 | AMD Bulldozer 後 | |
Linux 2.4 前 | 關閉 HT | 關閉 HT | 關閉 HT |
Linux 2.6 後 | 關閉 HT | 啟用 HT | 啟用 HT |
Windows 2003 前 | 關閉 HT | 關閉 HT | 關閉 HT |
Windows Vista 後 | 關閉 HT | 啟用 HT | 啟用 HT |
參考資料:
- Wikipedia, "Hyper-threading," [Oct. 30, 2012].
- Thomas Ryan, "Does disabling Hyper-Threading increase performace?" [Oct. 30, 2012].
- Matt Smith, "What is Hyper-Threading? [Technology Explained]," Sep. 19, 2010 [Oct. 30, 2012].
- Flypen, "Why does the performance become bad after enabling hyperthread?" May 14, 2012 [Oct. 30, 2012].
- Bitsum, "When HyperThreading hurts", Jan. 12, 2012 [Oct. 30, 2012].
- Shannon Cepeda, "Intel® Hyper-Threading Technology: Your Questions Answered," Jan. 27, 2012 [Oct. 30, 2012].
沒有留言:
張貼留言
感謝你耐心看完本文,歡迎留下任何指正、建議,筆者會儘快回應。(English is also welcome.)