4. Northwood 対 Prescott

NorthwoodコアのPentium4 2.80CとPrescottコアのPentium4 2.80Eの対決です。

結果をお見せする前にこれら2つのCPUの主な違いを次の表にまとめておきますので参考にしてください。

CPU比較
比較項目 Northwood 2.80C Prescott 2.80E
L1キャッシュサイズ 8KB 16KB
L2キャッシュサイズ 512KB 1MB
パイプライン段数 20段 32段
TDP 69.7W 89W

この表を見る限りPrescottの優位性が目立ちますが、パイプラインの段数増加は性能の足を引っ張る要素です。またTDPが20Wも増えていることはサーバの熱設計において大きな問題になります。

では各ベンチマークの結果を両CPUを比較した形で示します。いずれもカーネル2.6SMPにおける結果です。

グラフ-Northwood v.s. Prescott コンパイル時間

グラフ-Northwood v.s. Prescott Apache Bench

グラフ-Northwood v.s. Prescott SQL Bench

コンパイル時間の比較では優劣付け難い結果が出ています。ほぼ同等といえるでしょう。それに対し、Apache BenchとSQL Benchでは明らかにPrescottに軍配があがります。PrescottはNorthwoodに対して10〜20%性能が上回る結果となっています。

Apache Bench,SQL Benchとも同じ処理を繰返し行うことからキャッシュサイズの差が結果に現れたのだろうと推測できます。つまりベンチマーク特有の結果ではないかと考えられます。

逆にコンパイルで性能の差が見えないということは、キャッシュサイズの優位性がパイプラインの段数増で打ち消されていると考えられます。パイプラインの段数を増やすのは主にCPU内部のタイミングマージンを確保するためで、CPUの高クロック化に寄与するものです。つまりPrescottでは今後の高クロック化のためのパイプライン段数の増加による性能劣化をキャッシュサイズを増やすことで補ったといえるのかもしれません。

この記事を執筆している間にLGA755という新しいパッケージを採用したPnetium4が発売開始になりました。今のところCPUコアはPrescottのみであることから、mPGA478のみのNorthwood製品は近々消え去る運命であることは容易に想像できます。筆者としてはPrescottの性能もさることながらTDPの大きさが最も気になるところです。サーバを設計する上で大きな悩みとなりそうです。

5. 結論

では最後に結論です。

  1. 単一プロセスの処理性能はカーネル2.4(非SMP)が最も高い。単一のプロセスを多用するデスクトップ環境に適すと考えられる。
  2. 複数プロセスを同時に実行する性能はカーネル2.6SMPが最も高い。サーバに適すと考えられる。
  3. Hyper Threadingの効果はカーネル2.6SMPで最も発揮され、マルチプロセス処理において大きなアドバンテージとなる。
  4. カーネル2.4ではHyper Threading+SMPカーネルの効果はほとんど見られない。逆に非SMPよりも性能が劣る場合がある。
    →サーバに適さないと考えられる
  5. Pentium4 Northwood対Prescottの比較では、繰返し処理においてPrescottが10〜20%高い性能を示す。ただし非繰返し処理では性能の差はない。

いかがでしょうか? 高価なマルチCPUのサーバを買ってカーネル2.4SMPで使ったりしていませんか? その場合は性能の検証をされることをお奨めします。シングルCPUのシステムより遅いかもしれませんから。

それでは次回をお楽しみに。   (石)