Sandra 2013 SP4 Engineer Edition(グラフ1~17)

SiSoftware
http://www.sisoftware.co.uk/

まずはこちらから。Dhrystone(グラフ1)を見ると、案外にSandy Bridge-EとIvy Bridge-Eの差が見られないが、これはどっちも定格ではなくTurboが効きまくった状態で動作しているためであろう。そうなると動作周波数は3.9GHz vs 4GHzというわけで、その差はごくわずかであり、Native SSE4での結果に差があまりないのはこれに起因すると思われる。

むしろ、4coreしかないHaswellが健闘しているという言い方もできるかもしれないが、こちらはこちらでAVX2をサポートしているものの、フルに使おうとすると今度はメモリ帯域がボトルネックになっている、というあたりではないかと思う。

Whetstone(グラフ2)では、Sandy Bridge-EとIvy Bridge-Eの差がもう少し開いているあたりは、Turboの掛かり方に多少ムラがあるように思える。

ではProcessor Multi-Media(グラフ3)では? というと、特にNative Integer ×16でHaswellが圧勝というあたりは、演算性能が一番効果的なのだろう。逆にFloatやDoubleではSandy Bridge-E / Ivy Bridge-Eが逆転するあたり、単に演算性能だけでなく、メモリ帯域とのバランスの問題にも見える。実際、Native Integer ×16を除くとIvy Bridge-Eが(程度の差こそあれ)最高速という結果になっている。

グラフ4と5はFinancial Analysisの結果。ブラック・ショールズ方程式の結果と残り2つでは性能の桁が違うので、グラフを分けさせていただいた。とはいえ、こちらも見て判るとおり、最高速は間違いなくIvy Bridge-E。並列性の高い処理だけに、コアの数が多ければそのまま有利になる。とはいえ、Haswellも意外に健闘している感は強い。

グラフ6と7はMulti-Core Efficiencyの結果である。Sandy Bridgeと比較した場合、特にLatencyの減り方はTurbo動作時というよりは定格動作時に近い数値になっているのが興味深い。HaswellのLatencyが更に少ないのは、やはり絶対的なコア数が少ない分高速ということであろう。また、4×1MB以上、つまりL3もそろそろHitしなくなる領域でメモリ帯域がモロに効いて来る範囲ではSandy Bridge-E / Ivy Bridge-Eが明らかに有利であることも判る。

では実際のメモリ帯域は? ということでグラフ8がStreamと、グラフ9でも示すDetailの一部分(256MB~4GB)の平均を取った結果だ。微妙ながらIvy Bridge-Eの方が高速なのは、動作周波数がやや高い事とも無縁ではないだろう。

一方、Detailがグラフ9である。L1の範囲は32Bytes/cycleを実現しているHaswellが相対的に高性能だが、これを過ぎるとコア数の多さとメモリ帯域の広さでSandy Bridge-E / Ivy Bridge-Eが高速、というのはまぁ当然であろう。

グラフ10~15はLatencyの結果である。Sandy BridgeとIvy Bridgeでは大体同じ(動作周波数の差により若干値に差はある)はずで、これはセオリー通りなのだが、面白いのはL3付近の挙動が異なる事。

Sandy Bridge-Eはテストによって4MBから急激にLatencyが増えたり、8MBまでStableだったり、というのがIvy Bridge-Eでは完全に8MBまでStableになっている。このあたりはL3の実装の仕方の部分で変わるところではあるが、Sandy Bridge-Eに比べると若干改善が施された、という気はする。

次のMemory Transaction ThroughputはSandra 2013 SP4から追加された新しいテストである。主眼になるのは、Haswellの世代から追加されたTransaction Memoryへの対応である。具体的なテスト内容はこちらに説明があるが、かいつまんで話すと

  • HLE:Haswellで追加されたHLE(Hardware Lock Elision)を使ってロック制御
  • S/W:Modified Read命令を使ってのロック制御
  • S/W(Classic):専用命令を使わずにロック制御

この3種類の技法で次の2種類のテストを行うものである。

  • Database Transactional:メモリ中にB-Treeでデータベースを構築、これに対してRecordのSearch、Insert、Update、Deleteを行なう。
  • Record I[daye Only:メモリ中のB-Treeベースのデータベースに対して、RecordのUpdateだけを行なう。Insert/Deleteは行わない。

テストそのものは更新頻度を0%~100%まで12パターンにわけ、それぞれのトランザクション性能を測定した上で、最終的に平均値を出したものをグラフ16にまとめている。

強いていえばHaswellの性能はもっと上がっても良い(先のSiSoftwareの説明ページによれば、Sandy Bridge比で5倍近い性能差があるはず)気はするが、それはともかくとしてSandy Bridge-EとIvy Bridge-Eを比較すると、Sandy Bridge-Eの方が高速なケースもあり、トータルとしては同程度、という結果が出ているのはちょっと面白い。

最後はCPUというよりもPCI Expressの性能を比較するためにVideo Memory Bandwidthのうち、System to DeviceとDevice to Systemの結果だけをまとめてみた(グラフ17)。

何というか、NVIDIAはX79では意地でもPCIe Gen3の動作をサポートするつもりがないということが判る結果ではあったが、それはともかくとしてまぁこのあたりにはSandy Bridge-EとIvy Bridge-Eでの違いはないようだ。

次のページ:ベンチマーク結果「RightMark Multi-Thread Memory Test 1.1」