【記事】 Haswell-E(EP)の性能評価レポート

■こちらは、2014年12月19日に投稿された記事のため、情報の内容が古い可能性があります。

前の世代のIvybridge-E世代から、Intel Tick-TockモデルのTockに当たる、設計見直しによる機能向上を中心としたHaswell-E(EP)ですが、大分こなれてきたところで、基本的な概要・性能評価と合わせて、インテル・ターボ・ブースト・テクノロジーの有用性についての評価レポートをお届けいたします。スレッドの増加によるCPU動作効率について、機器選定の参考になれば幸いです。

①Haswell-Eの概要と基本性能について

Haswell-EのプロセスルールはIvybridge-Eと同じく22nmでありつつ、設計の見直しが図られています。特にデスクトップ向けとして先行でリリースされていたHaswellがDDR3対応のままだった事に対して、DDR4メモリ専用となった点が大きな違いではないかと思います。その他にも、Ivybridge-E世代との違いとして、AVX2への命令対応、仮想化環境での能力アップなどが盛り込まれています。また、Haswell-Eからはソケット形状に変更があり、Socket R3と呼ばれるLGA2011v3の新型ソケットが採用されています。そのため、メモリ種類の違いもあり、完全に新規のプラットフォームとなっています。ただし、CPUクーラーに関しては以前のSocket Rと形状的には互換となります。

Ivybridge-E世代と比較して、コア数を重視したCPUラインナップとなっており、Ivybridge-E 世代は4コアと6コアモデルのラインナップだったのに対し、Haswell-E世代は6コアと8コアのラインナップになります。

サーバー用のEP系ではIvybridge-EPが12コアまでのラインナップだったのに対して、Haswell-EPは18コアまでのラインナップとなりますが、多コアになった分、各CPUの定格クロックは、全体的にIvybridge-E世代よりも下がっています。また、インテル・ターボ・ブースト・テクノロジー(TB)にも改良が入っています。IVR(Integrated Voltage Regulator)と呼ばれるCPU側に電圧変換を実装する事によって、より柔軟な電圧制御を可能として、負荷の種類によってTBをより有効に利用できるようになっています。これにより、HPCなどのCPUへの高負荷が長時間続くような使い方でも、設定を詰める事である程度TBを活用しつつ、性能低下も防ぐことが可能となっています。

◆ ベンチマーク比較

※保有CPUの関係上、2世代前のi7-3930Kとの比較になります(検証環境は共にWindows7 Pro 64bit)。

  i7-5930K i7-3930K
Cache 15 MB 12 MB
  SSE4.2, AVX 2.0, AES SSE4.2, AVX, AES
Cores 6 6
Threads 12 12
Base Frequency 3.5 GHz 3.2 GHz
Max TB 3.7 GHz 3.8 GHz
TDP 140 W 130 W
Memory Types DDR4-1333/1600/2133 DDR3-1066/1333/1600

まず簡単なベンチマークとして、Passmark CPU Benchmarksの結果を比較しました。 この結果だけを見ると、CPUの定格クロック差がそのまま数字として表れているとも言えます。

  i7-5930K i7-3930K
CPU Mark 14081 12868
Single Thread 2162 2056

では、もう一つの目玉であるメモリ速度のベンチマークはどうかといいますと、以下の通りです。残念ながら、メモリ速度差に見合ったベンチマーク結果は出ませんでした。

  i7-5930K(DDR4-2133) i7-3930K(DDR3-1600)
Memory Mark 2776 2608

そこで、次に別のベンチマークとしまして、SiSoftware Sandraでの結果を比較してみました。 まずCPUのベンチマークですが、先ほどのPassmark CPU Benchmarksとは異なった傾向が出てきました。全体的に、CPUの定格クロック差以上の差が出てきていると言えます。

  i7-5930K i7-3930K
総合的なネイティブ パフォーマンス 149.68GOPS 130GOPS
Dhrystone 整数 185.35GIPS(AVX2) 163.32GIPS(SSE4.2)
Whetstone 浮動小数点 AVX 143.37GFLOPS 122.78GFLOPS
Whetstone 倍精度 FP64 AVX 101.9GFLOPS 87.14GFLOPS

もう一点のトピックである、メモリ速度も比較しました。先ほどのMemoryMarkの結果と比べると、メモリ速度差(スペック差)に近くなった印象の数字が出ました。

  i7-5930K(DDR4-2133) i7-3930K(DDR3-1600)
メモリ帯域 47.4GB/秒 39.18GB/秒
メモリのレイテンシ 28.5ns 26.6ns

このベンチマーク結果から、Haswell-Eは、Ivybridge-Eに対して、ソフト側が最適化された状態であれば、同クロックであっても、速度アップが見込めるCPUだと言えるのではないかと思います。 逆に、最適化が進んでいない場合は、ほぼクロック差通りの数字であるとも言えます。 そういった意味で、Haswell-Eをお使いの場合は、できる限りソフトウェア環境も最新のバージョンにする事で、より性能を活かせて、速度を発揮できるのではないかと思われます。

② Haswell-EPによる、インテル ターボ・ブースト・テクノロジー(TB)の性能検証

Haswell-EPベースのCPUの傾向として、コア数が増えて定格クロックが下がっているモデルが多いので、実際にTBがどの程度効いていて、動作クロックがどの程度であるか、簡単な検証結果を紹介します。

今回はコア数による変化ということで、2CPUの多コアモデルである、Haswell-EP E5-2650V3 ×2 による環境でのテストをおこないました。まず、テスト用環境となるE5-2650V3の基本情報です。

  E5-2650V3
Cache 25 MB
  AVX 2.0
Cores 10
Threads 20
Base Frequency 2.3 GHz
Max TB 3 GHz
TDP 105 W
Memory Types DDR4-1600/1866/2133

また、Intelのスペックシートによりますと、TB時の各コア最大速度は以下の通りです。

Core 1-2 3 4 5 6 7 8 9 10 11+
GHz 3 2.8 2.7 2.6 2.6 2.6 2.6 2.6 2.6 NA

計測は2CPUシステムで行いましたので、計20コア/40スレッドでのテストになります。 また、計測はLinuxのStressにてコア数を指定して、2分間負荷をかけ、1秒毎に各コアの動作クロックを図っております。 そのため、AVX処理は有効になっていない状態での負荷となります。 また、高負荷時の動作クロック確認において、多少のズレが生じている点はご了承ください。

まず、1スレッド負荷時は当然ですが、TBが利き、3GHzの速度が出ます(グラフ省略)。

次に5スレッドの負荷をかけた場合ですが、ここでは2コアが3GHzのラインにかかっているのが確認できます。 これは、上記CPUのスペックシートから、2つあるCPUのうち片方のCPUが2コアの3GHzで、もう一方が3コアの2.8GHzになっているのではないかと推測されます。

※以下、作業スレッド数による動作クロックの推移のグラフ。

各データ系列は各CPU(全40コア/系列)を表しています。

次に10スレッドの負荷をかけた場合です。2つのCPUに対して、平均的に負荷分散されていれば、5コアずつ2.6GHzが最大値となりますが、実際には2.7GHz程度のコアが4コアほど存在します。
これは、CPU側の割り振りとして、6コア(2.6GHz)+4コア(2.7GHz)で動作している可能性が高いと推測できます。

次に14および15スレッドの負荷をかけた場合です。
14スレッド時は2.7GHz動作のコアがあり、15スレッド時には最大が2.6GHzへと落ちます。おそらく14スレッド時が10コア+4コア扱いとなり、多少の余裕がある4コア側の一部のコアが2.7GHzで動作しているのではないかと考えられます。

15スレッド時は、片方にどれだけ偏っても、10コア+5コア扱いになるため、いずれにせよ2.6GHzが最大値となり、それが結果に表れていると考えられます。

上の結果から、Haswell-EPのクロック制御はかなり柔軟に制御されているという事が言えるのではないかと思います。

最後にフルスレッドの40スレッドの負荷をかけた場合です。

全コア2.6GHzで動作しております。負荷テストに利用しているStressがAVX命令などに最適化されておらず、負荷としては余裕があるという推測が成り立ちますが、フルスレッドに負荷をかけた場合でも、実質的には最大TB値のほぼ上限で動作する場合もあるという状況が確認できるかと思います。

以上の結果より、Haswell-EPは複数のコアに負荷のかかるような処理を行った場合でも、負荷のかかっているコア数に合わせて、以前よりCPU制御が上手に行われ、高クロックを維持しやすくなっていると言えるのではないかと思います。