次の図は、BroadwellとSkylakeで、SPECintの各ベンチマークプログラムのキャッシュミス率を比較したものである。左の薄い青の棒グラフはSkylakeのL2キャッシュのミス率をBroadwellのミス率との比率で表したもので、右の濃い青を棒グラフはL3キャッシュのミス率の比を示したものである。

SkylakeのL2キャッシュのミス率は、もっともミス率の高い471.omnetppというプログラムでも0.9倍程度に下がっており、ミス率最低の445.gobmkというプログラムでは0.4倍を切っている。L2キャッシュは1MBと大きくなっているので、ミス率が下がっているのは当然と言える。

一方、濃い青のL3キャッシュのミス率は、1.0倍を上回っているものが5つくらいある。しかし、右端の棒グラフであるSPECintの幾何平均を見ると、L3キャッシュのミス率は1.0で変わらず、L2キャッシュのミス率は0.65倍程度に減っているので、全体としてSkylakeのキャッシュ階層の方がキャッシュのミス率が低く、性能が高いことがわかる。

Xeon Scalable ProcessorのL2とL3キャッシュのミス率。L3キャッシュのミス率はBroadwellと比べて増加していない。そして、L2キャッシュのミス率は大きく低下している

Skylakeでは、DDR4メモリのチャネルが4チャネルから6チャンネルに増加し、データ転送速度も2400から2666MHzに高速化されている。結果として、ピークメモリバンド幅は1.6倍に改善している。どのコアでもメモリのアクセスレーテンシが減ったと書かれているが、これはコアの接続がメッシュとなったので、最大と最小の距離の差が小さくなったことが効いていると考えられる。また、それ以外にもレーテンシとバンド幅を改善する最適化があると書かれているが、Knights Landingで採用されているメッシュの領域分割などを指すと思われる。

最後に書かれている「Adaptive Double Device Data Correction(ADDDC)」は、Intelの発表ではこれまで聞いたことのない単語であるが、2個のDRAMデバイスでエラーが発生しても訂正できるという技術であると考えられる。市販のDIMMを使って2個のDRAMチップのエラーを訂正できるとすれば素晴らしい技術である。

Xeon Scalable ProcessorではDDR4メモリチャネルを6チャネルに増加し、メモリバンド幅と最大メモリ容量を拡大している。また、ADDDCで2個のメモリチップのエラーを訂正できる

Intelは9.6GT/sのQPIを10.4GT/sに高速化してUltra Path Interconnect(UPI)と名前を変えた。そして、プロトコルを改良して、データ効率を4%-21%向上して、物理的な伝送速度の向上による性能向上に上積みしている。

右側の棒グラフを見ると、リモートバンド幅は伝送のReadとWriteの状況によって変わるが、1.1倍から1.6倍まで向上している。

UPIは10.4GT/sへの高速化とプロトコル改良による4%-21%のデータ効率向上により性能を改善している

Skylakeは16レーンのPCIeを3本持っている。それぞれのx16は2x8、1x8+2x4、あるいは4x4に分割して使用することもできる。そしてPCIeに加えてIntel QuickData Technology(CBDMA)と書かれたブロックを持っている。このブロックはメモリ間のDMA転送を行うもので2倍のバンド幅が得られる。また、CBDMAは、メモリとメモリマップI/Oの間のDMAを行うこともできる。

I/Oは3つの独立した16レーンのPCIeを備えている。そして、2倍の速度でメモリ間のデータコピーができるIntel QuickData Technology(CBDMA)を持つ

次の図はメモリやI/Oのバンド幅をXeon E5-2699 v4と比較したもので、メモリのリードのバンド幅は1.63倍、ローカルのPCIeのリードライドは1.59倍、メモリ間のDMA転送は2.12倍、メモリとI/OのDMA転送は1.51倍、各種I/Oを接続するDMAのバンド幅は2倍となっている。

メモリやI/Oのバンド幅は約1.6倍に改善されている。DMAによるメモリ間コピーやDMIのバンド幅は2倍を超える改善になっている

次の図はE5-26xx v4と各種プログラムの性能を2ソケットサーバで比較したもので、TPC-Eの1.33倍からBlack Sholesでは1.87倍の性能となっている。また、右端のLINPACKは2.27倍の性能であるが、これはAVX-512のサポートが効いているプログラムである。平均は1.65倍となっており、このあたりがSkylakeベースのXeon Scalable Processorの実力というところであろう。

Xeon Scalable ProcessorとE5-26xx v4プロセサの性能比較。平均では、1.65倍の性能になっている

次の図は、E5-2697v4を1.0としたXeon Gold 6148の科学技術計算の性能を示したもので、気象計算のWRFから製造、生命科学、金融工学まで各種のプログラムの性能が比較されている。最低はWRFやLS-DYNAの1.41倍から欧州の金融オプションのモンテカルロ計算の2.38倍まであるが、大部分は1.5倍から1.8倍程度に入っている。

Xeon Gold 6148 とE5-2967 v4との科学技術計算の性能比較。WRFの1.41倍から金融計算のMonte Carloの2.38倍の性能となっている

次の図はマシンラーニングの推論の性能比較で、E5-2699 v4プロセサを1.0として、Xeon Platinum 8180プロセサの性能を棒グラフで表したものである。この図ではCaffe、TensorFlow、MXNet、NEONという4種のフレームワークを使いAlexNet、GoogLeNet、ResNetなどの推論の性能を比較している。この図にみられるように、1.14倍から2.4倍まで性能がバラついているが、BS=1024とバッチサイズを大きくとった場合は大きな性能向上が見られる。バッチサイズを大きくすると大きな行列の積となるので、AVX-512 命令が効果を発揮するためではないかと思われる。

ディープラーニングの推論の性能比較。バッチサイズ(BS)を大きくとると性能向上が大きいのはAVX-512の影響と思われる

Xeon Platinum 8180のマシンラーニングの学習では、Xeon E5-2699 v4と比べて1.5倍から2.2倍の性能が得られている。どの計算でもバッチサイズが50かそれ以上となっているので、ある程度、AVX-512が使えて、推論より高い性能比が得られていると思われる。

マシンラーニングの学習の性能比較。バッチサイズがある程度大きいので、高めの性能比率となっている

まとめであるが、以下のようなイノベーションにより、データセンター性能の向上を実現している。

  • AVX-512のサポートで最大60%0の計算性能の向上
  • メッシュネットワークの採用で性能とスケーラビリティを改善
  • データセンターの負荷に合わせたL2とL3キャッシュ階層の最適化
  • メモリシステムの改善と最大60%のメモリバンド幅の向上
  • 高速でより効率的なUPIによるスケーラビリティの改善
  • 内蔵IOの改善による最大50%のIOバンド幅の向上

Xeon Scalable Processorは、ここに列記した6項目を中心とする改善でデータセンター性能の改善を達成

Xeon Scalable Processorは、マイクロアーキテクチャ的には、メッシュネットワークの採用と、L3キャッシュのビクティムキャッシュ化が主要なものである。そして、AVX-512のサポートとDDR4メモリの6チャネル化が大きな性能改善項目であるが、多くの改善が積み重ねられている。性能比較のところで明らかになったように、Xeon E5-2699 v4などのBroadwellコアベースの製品と比較して、多くのプログラムで1.5~1.8倍の性能向上を達成しており、バランスの良い性能向上が実現されている。このようなバランスの良い性能向上はデータセンターの運用者には望ましい設計であると思われる。