News | 2002年11月14日 03:00 PM 更新 |
それがうまく結果として出ていない理由は、ウイルススキャンをNorton AntiVirus 2003を使っていることにある。Norton AntiVirusは新バージョンの2003でウイルススキャンのエンジンを改善し、フォアグラウンドタスクをほとんど邪魔しなくなった。その結果、ハイパースレッディング無効時はウイルススキャンがほぼ停止した状態となり(実際、ハードディスクの動作もほとんどなくなる)、フォアグラウンドがプロセッサを独占状態になるため、改善が見られないわけだ。
テスト項目 | HT無効 | HT有効 |
ビデオエンコード+FF11ベンチ(その1) | 3380 | 2058 |
ビデオエンコード+FF11ベンチ(その2) | 11分18秒 | 2分43秒 |
DVDイメージを作成しながらWordベンチ | 1分7秒2 | 52.6秒 |
ウイルススキャン中にWordベンチ | 36秒8 | 56秒3 |
ウイルススキャン中にFF11ベンチ | 3578 | 3189 |
※全テストとも5回計測し、最良値、最悪値を除いて平均
※HT有効時はマルチプロセッサカーネル、無効時はシングルプロセッサカーネルを使用
大きな効果はあるが、最大の利点は数字にはならない
さてベンチマークを通じて、ハイパースレッディングについて検証してみたが、システムパフォーマンスが向上することは間違いなさそうだ。インテルの言う最大25%という数字も信じて良い。しかしながら、同時に動作するプログラムの性質によって(あるいはスレッドを動かすプライオリティ設定の違いによって)、簡単に1つの数字でその効果を現すことは難しい。
もちろん、マルチスレッド対応のアプリケーションでは明らかな差が出ているわけだが、ハイパースレッディングの本当の良さは、実際に利用してみて初めて感じることができる。
例えばAfterEffectsでリアルタイムにプレビューする時のレスポンスや、ビデオエンコード実行時にも、全くそれを気にすることなく別の作業を進められることなど、数字を取って実行時間を比較するだけでは感じることができない良さが潜んでいる。これは複数のタスクが同時に動くケースも同様だ。
しかし、バックグラウンドタスクがほとんど動かない状態になってしまった方が、フォアグラウンドタスクのパフォーマンスが上がるパターンの存在が、話を難しくしている。筆者がハイパースレッディング対応システムを使うなら、間違いなく機能を有効にした状態で作業をするだろう。その方がシステム全体の性能は向上する上、操作面でのストレスも減る。
だが、その効果を万人に理解させ、ハイパースレッディングが有益な仕組みであると説得するためには、何らかの新しい評価基準が必要だろう。
ハイパースレッディングの効果は、今後、x86プロセッサのアーキテクチャが進化するに従い、より重要になっていくと考えられる。パイプライン本数の増加などにより、シングルスレッドを動作させた時の余剰リソースが増加する可能性が高いからだ。余剰リソースが増えるほど、ハイパースレッディングの効果は高まる。
ハイパースレッディングはマニア向けの機能か? と問われれば、筆者はノーと答えるだろう。3Dゲームなどスピードマニアが重視するフォアグラウンドタスクの速度が、ハイパースレッディングによってダウンしてしまう可能性があるからだ(ただしゲーム自身がハイパースレッディングを前提にプログラミングするようになれば、話は違ってくるかもしれない)。それを嫌うならば、ハイパースレッディングを無効に設定するべきだろう。
しかし、フォアグラウンドの絶対パフォーマンスが唯一の価値という一部のアプリケーションを除き、多くの場合はハイパースレッディングが有効に働く。クロック速度とは別のディメンジョンでのパフォーマンスアップ、例えば操作レスポンスやバックグラウンドタスクによる生産性低下の回避などを求めるなら、ハイパースレッディングに期待してもいい。
[本田雅一, ITmedia]
Copyright © ITmedia, Inc. All Rights Reserved.