News | 2002年11月14日 03:00 PM 更新 |
全般にアドビシステムズ製のマルチスレッド対応アプリケーションは、総じてハイパースレッディングが有効に機能する。インテルのテストでは同じアプリケーションを用いて、最大25%の効果があったそうだが、ベストケースを探せばそれぐらいのパフォーマンスアップは十分に考えられる。
また、ハイパースレッディングにオプティマイズされているマイクロソフトのWindows Media Encorderで、Windows Media Videoのエンコードも行ってみた。ソースはDV-AVIファイルを用いている。その結果は18.3%と著しいものだった。
インテルが言うように、追加シリコンがわずか5%だとするならば、それを正当化する十分なパフォーマンスアップを果たしていると言える(ハイパースレッディングの仕組みに関する記事参照)。
テスト項目 | HT無効 | HT有効 | パフォーマンスアップ率 |
Windows Media Encorder 9 | 2分9秒 | 1分49秒 | 18.3% |
Adobe Premire 6.5 | 18分34秒 | 16分29秒 | 12.6% |
Adobe Photoshop 7.0 | 30秒2 | 25秒9 | 13.1% |
Adobe AfterEffects 5.5 | 1分30秒 | 1分22秒 | 9.8% |
※全テストとも5回計測し、最良値、最悪値を除いて平均
※HT有効時はマルチプロセッサカーネル、無効時はシングルプロセッサカーネルを使用
複数アプリケーションの並列実行
複数のプログラムスレッドが同時に動作する効果を探るため、いくつかのパターンでアプリケーションを同時に実行するテストも行ってみた。
それぞれの結果は次ページの表の通りだが、実は結果の数字そのものには、あまり意味がない。というのも、同時に実行が行われるため、厳密にタイミングを合わせて2つのプログラムを実行することは不可能だからだ。ただし、いくつかの傾向は読み取ることができる。
まずビデオエンコードを行いながらFF11ベンチを動かすと、ハイパースレッディングを有効にした場合のFF11ベンチ結果は悪くなってしまう。なぜなら、バックグラウンドでビデオエンコードが効率よく“動作してしまう”からだ。ハイパースレッディングはプロセッサ内のリソースを有効活用し、全体で最大25%ほどの性能を向上させるというが、さすがにビデオエンコードが同時に動作している中で、フォアグラウンドの3Dグラフィックス性能は低下してしまう。
つまり、ハイパースレッディング無効時は、バックグラウンドタスクであるビデオエンコードが非常に遅くなり、FF11ベンチがプロセッサをほぼ独占する形になっているのに対して、ハイパースレッディング有効時は両タスクが同時に動作してしまうが故、フォアグラウンドに影響を及ぼしているわけだ。
それはベンチマーク結果のその2(次ページ参照)を見ても明らかだ。ハイパースレッディング無効時、11分30秒もかかるビデオエンコードが、ハイパースレッディング有効時には2分43秒で終了している。ちなみに、同じビデオファイルをハイパースレッディング無効でエンコードした時のタイムは2分9秒で、バックグラウンドタスクのビデオエンコード処理が、非常に高いパフォーマンスで動作していたことがわかる。
WinCDR 7でジュークボックスDVDのイメージを作成する処理を行いながら、フォアグラウンドでWord 2002を動かした場合。1つめのテストと似ていると思うかもしれないが、バックグラウンドタスクのDVDイメージ作成を実行中、ハイパースレッディング無効時に操作がままならないほど重くなるという点が違う。ビデオエンコード時には、そこまでフォアグラウンド処理に影響を出さない。
結果は見ての通りだが、フォアグラウンドのアプリケーションパフォーマンスが明らかに向上した。ハイパースレッディングによる並列実行によってフォアグラウンドタスクのレスポンスが向上する典型例と言えるかもしれない。
一方、ウイルススキャンを実行しながら、フォアグラウンドで別のタスクを実行するテストは、いずれも芳しい成績を出せなかった。その理由は最初のテストと同じ理由だと推測される。しかし、ウィルススキャンを実行しながらでも、アプリケーションが快適に動作するというシナリオは、実はインテルがハイパースレッディングのデモンストレーションで採用しているパターンで、大きな改善がある“ハズ”なのだ。
[本田雅一, ITmedia]
Copyright © ITmedia, Inc. All Rights Reserved.