XeonMP と hyperthreadingの再検証

2002/July/24


XeonMPは本当に速いのか?
HyperThreadingは効くのか?


この疑問が以前からありました。
実際に現状のアプリでどうなのか知りたかったです。
と言うのは 当方でも 数台のLinuxマシンが稼働しておりますが LinuxでWindowsをエミュレートするソフトが現在市販されています。
これを使うことで LinuxのX window上で Microsoft windowsが動作するのですがDualだと 凄く快適だそうです。
Linuxでは デフォルトでsmpをサポートしていますし 尚かつ n個のマルチプロセッサにも対応していますので そうなると hyperthreadingが非常に有効なのでは?と考えた次第です。
ただでさえ快適なのに 益々快適になるのではないかと・・・・・(汗

あと XeonMPは2個を超えるマルチプロセッサに対応していますし どうも実際使っているとサクサクと動くのですがベンチにその良さが現れないみたいです。

今回 Dualも含めマルチプロセッサの真価を発揮させる場として 前述のLinuxでwindowsをエミュレートしたり バックグラウンドで大量のアプリを動作させながらフォアグラウンドで様々な作業をする こんな事を想定して実験してみました。
実際 Linuxでは バックグラウンドで何枚もコンソールを立ち上げて コンパイルしながらブラウジングしたり 裏では様々なデーモンを起動したりしていますので 実際知らない間にそのような使い方をしているわけです。
ただ Linuxではベンチ等あまり無いので 工夫して windowsで検証してみました。
機会があれば Linux上で vmwareを使って 検証してみたいと思っています。


実験方法は
1,HDBENCH単体
2,GOGOのコーダベンチ単体 Q=8 FPU SSE2 SSE MMX
3,午後のコーダで実際にwavファイルをmp3にエンコードしながら Superπの52万桁の計測をしました。

MotherBoard SuperMicro P4DC6 OJI Special
Memory PC800 256M*4

CPU HyperThreading Integer Float MemoryR MemoryW MemoryRW GOGO-Bench GOGO + S-Pi
XeonMP 1.5G on 90083 104799 151244 50876 106223 90.33 65
XeonMP 1.5G off 68718 115000 140543 48605 100475 81.23 85
Xeon 1.5G - 70731 114380 141772 54147 108543 73.87 104


HDBENCH単体

GOGO BENCH単体



午後のこーだ を実際に稼働させながら Superπ を動作 (数値 = 1/Superπ動作時間*1000


総合 (HDBENCHの値は1/1000にしてあります)



結果はご覧の通りです。
今回当方が日頃使っているWindowsXP搭載マシンで実験していますので 常駐アプリは沢山動作しています。そのため 何回かベンチを動かして 一番良い方の値を取りました。


この結果から
1,XeonMPは実際のアプリケーションでは10%〜15%高速
2,hyperthreadingは沢山のアプリケーションが同時に動いている場合に真価を発揮する
こんな事が言えるのではないでしょうか。

今回実験をしてみて あらためてDualを含むマルチプロセッサの有効性が解った感じがしました。シングルではクロックに応じて 単品アプリは確かに速いのですが、通常業務をした場合、実際に業務用途に沢山のアプリケーションをインストールしたマシンで使うと やはり Dualはスムーズだと感じていましたので 証明されたかな??と感じています。

Dualマシンもしくは マルチCPUマシンの真価を発揮させるには 人間もマルチタスクをしないと駄目かな なんて思った次第です(爆)