CPU演算速度がシステムパフォーマンスではない。

 もの凄い当たり前のことなんだけど。
 この事実、世間では未だにイマイチ一般的ではないらしい。

 ・・・ということで、当方が最近ブチ当った、分かり易い事例を一つ。

 顧客のところでは昔懐かし、Gallatin XEON 4発で動いている某DBサーバがあります。
 コレの社内検証のため、ほぼ同等環境を再現して走らせることになり、用意出来た検証サーバはPhenom 9750搭載。ベンチマークを取ってみたところ、整数演算値ではほぼ同等(ついでに4演算コアというのも一緒)ということで、こりゃ丁度良いや、と。

 ところが、異変が発生したのはこの後。試しに顧客のトコロで動いているバッチスクリプトというかプログラムを流し込んで処理させてみたところ、何と実機の半分程の時間で終了してしまったんですな。別の言い方をすると、処理速度2倍。

 はいここがポイント。演算速度ベンチマークではほぼ同等なのに、実処理速度は2倍も開いた。
 この理由を述べなさい。

 見当付きますか?

 答えは、メモリのバンド幅が全然違うから。NetBurst初期のXEONと最新のPhenomでは、メモリの実効バンド幅が3倍近く開く(単純なベンチマーク値では、ね)という「格差」があるワケで。
 しかもその上、このバッチは殆どオンメモリ処理でI/O負荷も極めて軽いという。要するにメモリ上のデータを集中的に触りまくる処理なので、目一杯メモリパフォーマンスが影響しました、と。

 ◇

 ・・・まあこれはかなり極端な例だけれども。
 個人ユースでもDTMなんかは、結構メモリのパフォーマンスが影響したりするのよね。
 それに、折角のCPU性能がスポイルされてしまうのも勿体無いので、システム規格上最高速のメモリを用意してあげるべきだと思うワケなのだけど。

 で、何が言いたいかというと。

 DDR3 3chなLGA1366が羨ましくて仕方がない、未だにDDR2なAM2+ユーザのぼやきでした、はい。

Share