現在のHPCの高速化はCPUの並列化により実現されています。これに対してハイパースレッディングの方向性は、1個のCPUコアを仮想的に2個のCPUコアとして機能させ、処理速度は半減しますが、並行処理スループット効率をより高くする技術です。これはHPCでの並列化とは逆方向です。ですからSPEC CFP2006 baseの実施ではハイパースレッドをオフに設定した測定が望まれます。ところが実際のSPEC CFP2006 baseの測定はハイパースレッドをオンにしての実施が趨勢となっています。その理由は、ハイパースレッドをオンにして測定する方がSPECのスコア値が高く計算されるからです。
幸いにもSGI社が公開している測定結果には、2CPU 8コア機を用いてハイパースレッドをオフにした8ジョブ処理と、ハイパースレッドをオンにした16ジョブ処理のテストの双方が掲載されていました。そのSPEC値を比較すると、ハイパースレッドをオフにした8ジョブ処理よりハイパースレッドをオンにした16ジョブ処理の方が約7%も高いスループット値を示していました。これがSGI社以外のベンターがハイパースレッドをオンに設定した値のみを公開している理由のようです。しかしハイパースレッドをオフにした値にこそ大きな価値がありますから残念なことです。それにしてもSGI社のベンチマーク担当者の見識の高さは光っています。
しかし、本当にハイパースレッドをオンに設定した方がHPC計算にとって価値があるのでしょうか。そこで計算機の性能を正確に把握するため、同じ2CPU 8コア機で、1ジョブ処理、8ジョブ処理、16ジョブ処理でのアプリケーション別の処理効率比較を行いました。
青線の「メモリ性能律速型アプリケーション」は、メモリ性能がスループット量を決定しているため、ハイパースレッドの効果は皆無のようです。
赤線の「CPU性能律速型アプリケーション」や灰色の「メモリ性能CPU性能律速型アプリケーション」では10%から20%ものスループット量の向上が確認できるアプリケーションがありました。もちろん並列計算を行う場合は、並列化オーバヘッドが増大するため、ハイパースレッドの価値は低下します。
ハイパースレッドが力を発揮する用途は、基本的には対話型の共同利用環境を構成する場合で、かつ利用するアプリケーションがハイパースレッドに適していることがポイントとなります。
| SPEC CFP2006 Rates (並行処理性能) | SPEC CFP2006 Base (単体コア性能) | ||
| 製品 | 8200EX | 8200EX | 8200EX |
| CPU | Xeon | Xeon | Xeon |
| 製造プロセス | 45nm | 45nm | 45nm |
| CPU番号 | X5570 | X5570 | X5570 |
| CPU
クロック (GHz) |
2.93 | 2.93 | 2.93 |
| チップセット | 5520 | 5520 | 5520 |
| DDR3
メモリ (MHz) |
1066 48GB |
1066 48GB |
1066 48GB |
| OS | Linux | Linux | Linux |
| コンパイラ | Intel11 | Intel11 | Intel11 |
| CPU 数 | 2 | 2 | 2 |
| コア数/CPU | 4 | 4 | 4 |
| 総コア数 | 8 | 8 | 8 |
| 投入 ジョブ数 |
16 | 8 | 1 |
| SPEC値 経過時間(秒) |
181 | 169 | 37.0 |
| bwaves |
1268 | 617 | 165 |
| gamess | 1566 | 771 | 801 |
| milc | 937 | 507 | 243 |
| zeusmp | 712 | 400 | 276 |
| gromacs | 581 | 317 | 302 |
| cactusADM | 855 | 502 | 66.8 |
| leslie3d | 1232 | 613 | 323 |
| namd | 699 | 432 | 407 |
| dealII | 641 | 384 | 328 |
| soplex | 1001 | 496 | 278 |
| povray | 319 | 189 | 181 |
| calculix | 567 | 301 | 290 |
| GemsFDTD | 1568 | 789 | 268 |
| tonto | 773 | 412 | 374 |
| lbm | 2107 | 1018 | 289 |
| wrf | 858 | 428 | 274 |
| sphinx3 | 1611 | 864 | 451 |
【SPEC CPU2006の公開データを資料として引用】
SPEC, SPECint and SPECfp are resistered trademarks of the Standard Performance Evaluation Corporation. For more information on this SPEC benchmarks see www.spe.org. SPEC and the benchmark name SPEC CPU2006 are registered trademarks of the Standard Performance Evaluation Corporation. Competitive benchmark results stated above reflect results published on www.spec.org as of April 03, 2009. The comparison presented above is based on the best performing 2-cpu servers currently shipping by SGI. For the latest SPEC CPU2006 benchmark results, visit http://www.spec.org/cpu2006/