2008.01.11 第2世代Mac Proのパフォーマンス/その1. SPEC CPU2006

カテゴリ [ Mac ]

2008.01.08 第2世代Mac ProのFSB(フロントサイドバス) ]にて、

Mac Proのボトルネックは、FSBにあります。.......1333MHzが1600MHzへと1.2倍向上したわけですが、「1.2倍の向上にすぎない」のか「1.2倍もの向上」なのか、あるいは、実際にボトルネックの解消につながるほどの向上なのかどうか、パフォーマンスの情報が楽しみではあります。

と書きました。だれか早く、DTV関連ソフトでのベンチマークを取ってくれないかなあ...。

とはいえ、今のところ、第2世代Mac Proの性能については、何の情報もありませんので、非Mac OS X環境でのシステムの性能を見てみましょう。データは、SPECが提唱・収集しているSPEC CPU 2006ベンチマークテストの結果を使用します。


SPEC CPU2006は、CPU・メモリというハードウェア性能、コンパイラ・OS環境というソフトウェア性能、この両者の総合性能にフォーカスしたものです。

例えば、ディスクアクセスやグラフィックス(GPUとグラフィックドライバ等)の性能は、SPEC CPU2006には影響を与えません。

だから、今回のように、FSB向上の効果を考える際には、最適のテストです。

今回は、X5160、X5365、X5472という、5100, 5300, 5400シリーズでクロック周波数が同じ3GHzのモデルでの結果を使用します。Supermicro社のX7D系マザーボード、OS環境はSUSE Linux (64bit)、コンパイラはIntel Compiler for Linux32 and Linux64に揃えました。

SPEC CPU2006には、下表記載の8種類のテストが含まれます。

SPECint 2006、SPECint 2006e_base、SPECint_rate 2006、SPECint_rate_base 2006
SPECfp 2006、SPECfp_base 2006、SPECfp_rate 2006、SPECfp_rate_base 2006

大きく分けると、
・intとfp

前者は整数(integer)演算、後者は浮動小数点(floating-point)演算にフォーカスしたテストです。

・_rateという文字列の有り無し

例えば、SPECintとSPECint_rateとがありますが、
_rateでないテストは、シングルタスクに比較してどれくらい速いか、
_rateという文字列の付いたテストは、一定時間に何回のタスクを繰り返せるか、

・_baseという文字列の有り無し

_baseでないテストは、CPUの機能を引き出すために積極的に最適化した場合、
_baseという文字の付いたテストは、最適化を行わない場合、

を意味しています。

浮動小数点演算については、CPU機種毎に拡張命令セットを搭載することで性能向上を図ろうとすることが多いので、SPECintの性能差よりも、SPECfpの性能差の方が顕著に大きくなることも多いです。例えば、Intelプロセッサには、SSEというマルチメディア拡張命令セットが搭載されています。これは、複数の浮動小数点演算の同時実行を行うもの。もし、SSEへの最適化がなされたとしたら、他のテストに比べてSPECfp_rate 2006は目覚ましく向上する、なんてことはあり得ます。SPECfp_rate 2006は、fp:浮動小数点演算、_base無し:最適化してる、_rateあり:同時実行の効果が出やすい、という性格のテストなので。もっとも、「あり得る」というだけであって、今回の結果がどれくらい最適化がなされた環境でなされてものかはどうかは、私もよくわかりませんが。

では、まず、
「X5365+i5000」システム(←3GHz Mac Pro 8-core(旧モデル)に相当)と
「X5472+i5400」システム(←第2世代Mac Pro 3GHzモデルに相当)とを比較してみましょう。

以下の点が見所です。

・X5365もX5472も、どちらも、動作クロック周波数は3GHz、コア数は8と一緒なので、CPUの性能自体は基本的には同程度と期待されます。にも関わらず、性能差が生じるとしたら、その理由はCPU以外に原因がある(例えば、FSBの性能差に原因がある??かも)と考えることが出来ます。

・FSBは、i5000では1333MHz、i5400では1600MHzと、「X5472+i5400」の方が1.2倍高速化されています。

「X5365+i5000」システムと「X5472+i5400」システムとの性能比

「X5365+i5000」システムの性能を1とした、相対値(数値が大きいほど高速)

ベンチマークテスト

性能比

SPECint 2006
  SPECint 2006

1.18

  SPECint 2006_base 1.10
SPECint_rate 2006
  SPECint_rate 2006 1.21
  SPECint_ratee_base 2006 1.19
SPECfp 2006
  SPECfp 2006 1.11
  SPECfpe_base 2006 -
SPECfp_rate 2006
  SPECfp_rate 2006 1.25
  SPECfp_rate_base 2006 1.29

ということを頭に入れて結果を見ますと、

見事に、「X5472+i5400」システムは「X5365+i5000」システムよりも、ちょうど1.2倍高性能なことがわかります。この結果から、

「X5365+i5000」のボトルネックは、明らかにFSBにあること

だって、ガラス瓶の首の部分の口径を1.2倍広く改良したら、流れ出る量も1.2倍になった、というならば、まさに、瓶の首の部分が文字通り"ボトルネック"であることは明らか。

どうも、1600MHzへと高速化されたFSBを持ってしても、まだ、8コアがはき出すデータを処理するには足りてなさそうなこと。

仮に1600MHzのFSBで充分な転送能力があるのならば、1333MHzでもそこそこ充分なはず。つまり、1600MHz FSB環境では"頭打ち感"が出てくるはず(飽和 Saturation)なので、そうなると1600MHzと1333MHzとの差がこんなに明確に現れたことの説明がつきません。

が推察されます。

ということで、今回の環境(3GHz Xeon X5x00、Supermicro社のX7D系マザーボード、OS環境SUSE Linux (64bit)、コンパイラIntel Compiler for Linux32 and Linux64)での、SPEC CPU2006の結果を見る限り、

FSB(1333→1600MHz)の向上の効果は、確かにある。
しかし、1600MHz FSBをもってしても、8コアの処理能力に追いついていない(ようだ)、

と思われます。
とはいえ、まあ、この考察は参考に過ぎず、ほんとに興味がある点は、Mac Pro実機、Mac OS X環境下ではどうか、DTVソフトでの実効速度ではどうか、といったことですよね。これらについては、今後の報告を待ちたいと思います。

思いますが、基本的には、さほど期待はできないでしょうねぇ。SPEC CPU2006は、CPU・メモリをフル活用する処理だけを見ていますが、実際のDTVでは、大量のビデオデータをHDDに読み書きするので、ディスクアクセスの性能にも大きく影響されます。第1世代Mac Proも第2世代Mac Proも、デバイスとの入出力を司るICH(I/O Control Hub)はi6321のまま変更ありませんから、おそらく、ディスクアクセス性能に足を取られて、せっかく向上したCPU・メモリ性能も見えて来ない、なんてことになりそうです。

 

[ 前の日 ]   [ Mac.una Matata !!トップページ ]   [ 次の日 ]

この記事のURL: http://www.macdtv.com/Macunamatata/Articles/20080111/index.html