[24331]
ハイパースレッディングのことで
投稿者:Win98SE3sp9 さん
2002-11-01 09:17:58
本日の記事で
http://www.zdnet.co.jp/news/0211/01/nebt_11.htmlというのがありました。
最後の方にXPマシンではハイパースレッディング機能をONにできるようなことを
書いてありますが、この機能をONにする方法をご存知の方おられますでしょうか?
もしおられましたらONにしたときの処理能力が上がるのかどうか?などを
お聞かせいただけたらと思います。
-
xeno さん
2002-11-01 16:58:19
まず前提条件として、ハイパースレッディング(HT)に対応するハードウェア(CPU、マザー等)を用意します。
HTに対応したマザーであればマザーのBIOSでON/OFFを切替えることが出来ます。
WinXP側でON/OFFを切替えることはしません。
HTを有効にして処理能力が上がるかどうかは、使用するソフトウェア次第になります。
WinXPもソフトウェアなのでWinXPがHTに対応しているというのなら、それなりの効果があるのかもしれません。
-
エクセリア さん
2002-11-01 20:21:33
-
No.0 さん
2002-11-01 23:03:36
ハイパースレッディング(HT)の効果は、次のように理解できます。(あってい
るのかな? >識者諸氏)
さて問題です。次の2台はどちらが処理能力が高いでしょうか?なお、チップ
セットやメモリは、同一、同容量のものを使用します。
(1)1.0GhzのPentiumIII 1個を積んだUPマシン
(2)500MHzのCeleron 2個を積んだSMPマシン
ケースA:シングルスレッドのベンチマークを多重度1で実行する。
(バックグラウンド処理はベンチマークの結果に影響を与えないもの
とします。)
この場合は、(1)の方が(2)の約2倍近い性能を示すことになります。(2)では、
片方のCPUしか実質的に動作していないために、クロック差がそのまま性能に、反
映されます。
ケースB:シングルスレッドのベンチマークを多重度2で実行する。
つまり、ケースAのベンチマークを2つ同時に実行します。
この場合は、(1)と(2)でほぼ同じ性能になりますが、一度に使える有効なL2
キャッシュの容量差によって、(1)の方が若干良い結果になります。
ケースC:マルチスレッドのベンチマークを実行する。
この場合は、(1)と(2)でほぼ同じ性能になりますが、一度に使える有効な演算装
置の数の差、有効なTLBエントリの数、I/O待ち時間の有効活用などによって、(2)の
方が若干良い結果になります。
ケースD:多数のプロセスを同時に実行する。
この場合は、(1)と(2)でほぼ同じ性能になりますが、一度に使える有効な演算装
置の数の差、有効なTLBエントリの数、I/O待ち時間の有効活用などによって、(2)の
方がレスポンスやスループットが悪くなりにくくなります。
ハイパースレッディングを有効にしたCPUは、上記の(1)と(2)の中間的な性能を
示します。2つのスレッドを同時に実行しているため、1スレッドあたりのL1/L2
キャッシュの容量は単一スレッドで実行しているときの半分になります。また、TLB
キャッシュも半分になるため、メモリのアクセス効率が落ちます。つまり、ハイ
パースレッディングを有効にすると、実運用の環境では概ね遅くなります。Intelが
主張している性能向上は、ハイパースレッディングに有利な理想的な環境だけに限ら
れたものです。現行のベンチマークでは、
ハイパースレッディングを生かすためには、L1/L2キャッシュおよびTLBエントリを
それなりに増やす必要があります。特にTLBエントリについては、Intelは倍以上に増
やすべきです。TLBエントリがヒットするかしないかだけで、最大3倍の性能差が発生
します。
(一説には、Athlon系が速いのは、TLBエントリがPentiumIII/4系の数倍もあることが
一因であるとされています。)
ユーザから見れば、ハイパースレッディングを有効にすることで、レスポンスやス
ループットが悪くなりにくくなり、体感速度が若干良くなるという以上の効果はあり
ません。
-
Win98SE3sp9 さん
2002-11-02 08:41:58
レスありがとうございます。
なるほど・・・体感はいかもしれませんが実際の速度はって感じですね。
勉強させていただきました。