仮想化道場
サーバープロセッサのターニングポイントになる? 「Xeon Scalable Processor」(前編)
2017年8月3日 06:00
7月11日(米国時間)に全世界で発表された、Intelの新しいサーバー向けプロセッサ Xeon Scalable Processor(Xeon スケーラブル・プロセッサー 以下、Xeon Scalable)ファミリーでは、今までXeon E7/E5/E3などと分かれていたサーバー向けプロセッサを、1つのラインアップに統合した。これによりサーバーベンダーは、サーバーの構成を大きく変えてきている。
今回は、Xeon Scalableファミリーを解説していこう。
ややこしいXeon Scalable Processorのラインアップ
わかりやすいところから説明すると、Xeon Scalable Processorと以前のXeon E7/E5の差は、ソケットにある。Xeon Scalableでは、すべてのプロセッサがLGA3647(Socket P)を採用している。
チップセットも、Xeon E7/E5とは異なりC620シリーズ(開発コード名:Lewisburg)が使われている。サーバーベンダーにとっては、同じチップセットを使って、2/4/8ソケット対応のサーバーを設計・開発できる点がメリットという。つまり、設計・開発コストがかかる4/8ソケットサーバーを、今までよりもリソースをかけずに設計・開発できるようになるわけだ。
ただしXeon Scalableでは、それまでのXeon E7/E5のラインアップを統合し、ブランドとをPlatinum、Gold、Silver、Bronzeの4つに分けたが、サポートしているソケット数で単純に分けたわけではないため、直感的にはかえってわかりにくくなった。
Intelでは、パフォーマンス(動作クロック、コア数など)の総合的な要素でブランド分けされていると説明していて、例えばXeon Platinum 8100では、2/4/8ソケットのサーバーが構築できる(8ソケット以上のサーバーは、メーカーが独自のチップセットを開発すれば可能)。
Goldに関しては、2/4ソケット対応のXeon Gold 6100シリーズ、2ソケットだけに対応したXeon Gold 5100シリーズに分かれている。Xeon Silver 4100とXeon Bronze 3100は、2ソケットまでの対応だ。
このようにソケット数からの視点では、これまでと異なった分類方法になるためわかりにくく感じる。
コア数で見ると、Platinum 8100は最大28コア、Gold 6100/5100は最大22コア、Silver 4100は最大12コア、Bronze 3100は最大8コアとなっており、この視点の方が比較的わかりやすいかもしれない。
とはいえ個人的には、今回のブランド戦略は非常にわかり難いと感じている。例えば、Xeon Platinum 8100で4ソケットサーバーを構築するのと、Xeon Gold 6100で4ソケットサーバーを構築する場合で、パフォーマンスにどのような差があるのかよくわからないからだ。PlatinumやGoldといった貴金属名を付けるなら、もっとシンプルにわかりやすくしてほしかった。
第1世代のXeon ScalableのコアはSkylake
さて、ここからは中身を具体的に見ていく。
第1世代のXeon Scalableは、コンシューマ向けでは第6世代Core iプロセッサに相当する、Skylake(開発コード名)コアベースとなっている(14nmプロセスで製造されているが、Kabylakeで使われている14nm製造プロセスの改良版が使われている)。
Skylakeコアを使っているため、Skylakeで改良された分岐予測、デコーダーのスループット向上、スケジューラーや実行エンジンの改良、ロード/ストアの帯域幅の向上、ロード/ストアバッファの深化、プリフェッチの改良などが行われている。
またPlatinum 8100、Gold 6100/5100、Silver 4100は、HT(Hyper Threading)をサポートする。
ただし第6世代Core iプロセッサと同じSkylakeコアとはいっても、サーバー向けであるため、異なっている点がある。
具体的には、Xeon Scalableでは512ビット幅のSIMD命令セットであるAVX-512がサポートされたことだ。AVX-512は、Xeon Scalableの1カ月前に発表されたハイエンドコンシューマ向けプロセッサ「CoreXシリーズ」の一部モデルでサポートされているだけで、一般コンシューマ向けの第6世代Core iシリーズや第7世代Core iシリーズではサポートされていない。
これは、AVX-512が並列データ処理を高速化する機能であり、コンシューマ市場では必要とされる機会が少ないからだろう。Xeonが使われる、AIや機械学習、ビッグデータ処理などには大きな威力を発揮する。
また、AVX-512を高速に実行するためのFMA(Fused Multiply Add:積和演算)ユニットが、Platinum 8100とGold 6100では2つ、Gold5100、Gilver4100、Bronze3100では1つ搭載される。(筆者注:Intelのプロセッサ資料のIntel Arkによれば、Gold 5122は2つのFMAユニットとなっている。もしかすると資料の誤記かもしれない)。
キャッシュメモリの持ち方を変更
Xeon Scalableで大きく変わったのが、キャッシュメモリの持ち方だ。
Xeon E7/E5では、すべてのコアが共有できるLLC(Last Level Cache、L3キャッシュ)がコアあたり2.5MBだった。
これに対してXeon Scalableでは、LLCの容量をコアあたり1.375MBに落とし、各コアが専有するMLC(Middle Level Cache、L2キャッシュ)の容量を、コアごとに1MBへと増量している。
こうしたキャッシュ構造の変更は、プロセッサ内部でコアを接続するインターコネクトのアーキテクチャが変わったからだ。Xeon Scalableでは、Xeon E7/E5で使用していたリングバスから、メッシュバスに変わった。
変更が行われたのは、コア数が増えてきたことにより、リングバス構造が複雑になってしまったからだ。Xeon E7の24コア製品は、12コアで1リングに接続しているため、リングが2つ存在する。リング間の接続は、2つのバッファによって行われていた。しかし、このアーキテクチャでは、コア数が増えるにつれてリング数が増え、最も遠いコア間ではレイテンシが大きくなるし、プロセッサ設計も難しくなる。モデルによっては、リングを複数持った製品を設計する必要があった。
そこで、メッシュバスによって接続することで、コア数が増えてもシンプルな設計で済むように変更した。リングバスと比べた場合、コアが配置されている距離によってはレイテンシが大きくなってしまうが、リングバスでコア数を増やした場合に比べると、デメリットが小さいと判断したのだろう。
Xeon Scalableの仮想化機能
Xeon Scalableでは、プロセッサの仮想化支援機能のVT-xが改良されている。改良ポイントとしては、モードに基づいた実行制御を行うMBE(Mode Based Execution control)、TSC(Timestamp Counter Scaling)の仮想化が追加されている。
MBEは、ハイパーバイザーに対する攻撃をチェックできるようにする機能だ。これにより、仮想化された環境でもマルウェア攻撃から保護することができる。ただし、MBEだけで仮想環境の保護ができるわけではない。ハイパーバイザー側や仮想環境向けセキュリティソフトウェアが対応する必要がある。
MBEは、プロセッサレベルでハイパーバイザーの改ざんをチェックできるようにし、改ざんが確認された時にはアラートを出して、検証できるようにしているが、その後の動作に関しては、ハイパーバイザーやセキュリティソフトが担当することになるからだ。
一方のTSCは、仮想マシンが異なる動作周波数で動作しているプロセッサ間で、問題なくマイグレーションできるようにする機能だ。これによりハイブリッドクラウド環境で、ワークロードが最適化できる(Xeon Scalableでは、負荷やプロセッサーの発熱に応じてコアのクロック数をダイナミックに変動させる機能がある)。
Intelでは、Xeon Scalableのコア数の増大、仮想化機能の改良によって、最大4.28倍の仮想マシン集約率を実現するとしている。さらに、高いアクセススピードを持つメインメモリにより、仮想マシンの動作において高いパフォーマンスを示しているという。
このほか、高速なNVMe SSD(PCIe接続)を管理する場合、ソフトウェアで管理していては遅延が発生するため、高速なドライブを管理するために、Xeon ScalableではIntel Volume Management Device(VMD)を追加している。この機能を利用すれば、NVMe SSDでもホットスワップが可能になる。
VMDはハードウェアでベースの管理機能を実現しているが、ストレージ管理システムについても、VMDをサポートしたものが必要になる。従って、OSやハイパーバイザーがVMDをサポートしていないと、Xeon Scalableを使用していても機能は利用できない。
RAS機能を提供するRun Sure Technology
前世代のXeon E7/E5でもシステムの信頼性(Reliability)、可用性(Availability)、保守性(Serviceability)を高めるRAS(Reliability、Availability、Serviceability)機能が用意されていたが、Xeon E7とE5で若干機能が異なった(なお、IntelではXeonのRAS機能をRun Sure Technologyと呼んでいる)。
今回のXeon Scalableでは、PlatinumとGoldに同じレベルのRAS機能が搭載された。機能自体は、エンハンスドMCAリカバリー、Adaptive Multi-device error Correctionなどで、前世代と比べて大きな変更はなさそうだ。
SilverやBronzeに関しては、Run Sure Technologyはサポートされていない。このあたりを考えれば、可用性を重視する基幹業務に使用するサーバーとしては、PlatinumやGoldを使用することになるのだろう。SilverやBronzeは、支社や支店の業務サーバー、ワークステーションなどを想定しているものだと思われる。
*****
後編では、セキュリティ機能や周辺機能などを説明する。