エンタープライズ:コラム 2002/11/18 20:30:00 更新


Linux Column:ハイパースレッディングに期待、課題はコスト

先週、インテルから正式にPentium 4でのハイパースレッディングのサポートがアナウンスされた。Linuxカーネル2.5のソースコードをフルコンパイルすると、ざっと見て3倍の速度(赤い彗星?)になる。これは魅力的だ。

 先週、インテルから正式にPentium 4でのハイパースレッディングのサポートがアナウンスされた。ハイパースレッディングはこれまでPentium 4のサーバ・ワークステーション向けCPUであるXeon・Xeon MPではサポートされていたが、ノーマルのPentium 4では機能がOFFにされていた。

 ハイパースレッディングに関する技術的な説明は置いておくとして、「漢(おとこ)は黙ってSMP」派の私としては、今回のアナウンスは諸手を挙げて歓迎したい。現在メインで使用しているマシンは自分で自作したものなのだが、MSIのマザーボードにAthlon XP 1600+を2個搭載している。本当ならばAthlon MPでないといけないはずなのだが、なぜかAthlon XPでもSMPができるのだ。こいつの難点はマザーボードが高いこと。一番安いものでも3万円はするからだ。

 そのため、普通のマザーボードが使えるノーマルなPentium 4がハイパースレッディングをサポートすることにより、論理的なSMPとはいえ、だれでも気軽にSMPができるようになるのはなんとも喜ばしい。あとは価格が下がってくれれば言うことは無い。さすがにCPU1個8万円台というのは費用対効果の点では疑問符がつくからだ。これは時間が解決してくれるだろう。

 私自身はXeonを2CPU搭載したマシンとLinuxの組み合わせで既に簡単な評価を行っているのだが、その感触は極めて良好。2CPU搭載で論理4CPUということになるが、Linuxカーネル2.4は何もしないでもきちんと4CPUと認識してくれている。

 その上で、たとえばLinuxカーネル2.5のソースコードをフルコンパイルするとする。コンパイラに対してオプションを設定しないでいると、1CPUしか使用されない。これをマルチスレッドにコンパイルするように指定すると、コンパイル時間がおよそ3分の1となる。

 さすがにリニアに4倍の速度になるとはいかないが、ざっと見て3倍の速度(赤い彗星?)というのはなかなか魅力的である。アプリケーションによっては1〜2割しか上がらない場合もあるということなので、コンパイルはたまたま向いていた処理なのだろう。

 ハイパースレッディングの肝は、メモリとのI/Oのオーバーヘッドの間に別の計算を行うという点にある。大量のメモリI/Oが勝負のデータベースなどでは効果が見えにくいかもしれないが、データI/Oプラスプロセス処理というWebアプリケーションサーバなどでは効果が上がるかもしれない。この辺りは今後の検証次第で向き不向きが見えてくるところか。

 実際問題として、費用対効果を考えながらシステムのパフォーマンスを向上させるためには、アプリケーションのパフォーマンスチューニングを行うよりも、CPUやメモリなどを増強した方が早い場合が多いようだ。サーバ系の処理でハイパースレッディングが有効となれば、ローエンドからミドルレンジクラスのサーバ機でも、徐々にPentium III系のCPUからPentium 4系へのシフトが起きるかもしれない。

 Linuxの場合、SMPマシンにインストールをすると、カーネルもSMP対応版が入ることになる。1CPUしか入っていないのにSMPカーネルがインストールされて面食らわないよう、今から心の準備をしておこう。

 そして「漢(おとこ)は黙ってSMP」だ。

[宮原 徹,びぎねっと]