徹底的に調査すると、 Intel は Skylake コアを採用し、追加のキャッシュとベクトル処理機能を追加し、その他のさまざまな部品を投入して、コード名 Purley と呼ばれる Xeon CPU としてパッケージ化しました。
Chipzillaはサーバーチップファミリーの簡素化を目指し、各コンポーネントをXeonスケーラブル・プロセッサーとしてブランド化し、それぞれに適したタスクの種類に応じて色分けすることにしました。これはファンクラブの会員資格のようなものです。仮想化やミッションクリティカルな処理に対応する大型パーツにはプラチナ、一般的なコンピューティングにはゴールド、そして中程度から軽いワークロードにはシルバーとブロンズが用意されています。
これらの新しい14nm SkylakeベースのPurley Xeonは、今回のブランド変更の対象となります。そして、Intelらしいやり方で、膨大なバリエーションを導入することで、簡素化のプロセスを複雑化させています。
本題に入る前に、昨年のBroadwellベースのXeon E5 v4と比較した基本仕様、そしてシステムアーキテクチャとソケットトポロジの概要をご紹介します。コア数の増加による全体的なパフォーマンスの向上だけでなく、消費電力もわずかに増加していることに気付くでしょう。
画像をクリックすると拡大します(出典:Intel)
以下はIntelのスライドで、SkylakeデスクトップコアとスケーラブルプロセッサパッケージのSkylakeコアの主な変更点を説明しています。基本的には、AVX-512ベクター処理、L2キャッシュの増強、その他いくつかの機能です。下の図のポートは、コアの様々な処理ユニットに命令を供給するアウトオブオーダー命令スケジューラのポートを示しています。より広い文脈については、次のページのマイクロアーキテクチャ図をご覧ください。
それでは、今日から注文できるもの、または少なくとも問い合わせることができるものを見てみましょう。
Xeon Platinum 81xx プロセッサ
最大28コア、56ハードウェアスレッド、1、2、4、または8ソケットに対応、最大3.6GHzのクロック速度、48レーンのPCIe 3.0、6つのメモリチャネル(2666MHz DDR4、最大1.5TBのRAM)、最大38.5MBのL3キャッシュ、3つのUPIインターコネクト、コアあたり2つのFMA(Fused Multiple-and-Add Unit)を備えたAVX-512ベクタープロセッサを搭載。消費電力はパーツによって大きく異なり、最大約200Wに達する。
Xeon Gold 61xx プロセッサ
最大22コア、44ハードウェアスレッド、1、2、または4ソケットに対応、最大3.4GHzクロック、PCIe 3.0レーン48本、2666MHz DDR4メモリチャネル6本、最大768GBのRAM、最大30.25MBのL3キャッシュ、3つのUPIインターコネクト、コアあたり2つのFMAを備えたAVX-512ベクタープロセッサを搭載。消費電力はパーツによって大きく異なり、最大約200Wまで上昇します。
Xeon Gold 51xx プロセッサ
最大14コア、28ハードウェアスレッド、1、2、または4ソケットに対応、最大3.7GHzのクロック速度、48レーンのPCIe 3.0、6つのメモリチャネル(2400MHz DDR4対応)、最大768GBのRAM、最大19.25MBのL3キャッシュ、2つのUPIインターコネクト、コアあたり1つのFMAによるAVX-512ベクター処理を備えています。消費電力はパーツによって大きく異なり、最大約100Wです。
Xeon Silver 41xx プロセッサ
最大12コア、24ハードウェアスレッド、1、2、または4ソケットに対応、最大2.2GHzのクロック周波数、各モデルに48レーンのPCIe 3.0、2400MHz DDR4に対応する6つのメモリチャネル、最大768GBのRAM、最大16.5MBのL3メモリ、2つのUPIインターコネクト、コアあたり1つのFMAによるAVX-512ベクター処理を備えています。消費電力はパーツによって大きく異なり、最大約85Wです。
Xeon Bronze 31xx プロセッサ
最大8コア、8ハードウェアスレッド、1ソケットまたは2ソケットに搭載可能、最大1.7GHzのクロック速度、各CPUは48レーンのPCIe 3.0、6つのメモリチャネル(2133MHz DDR4対応)、最大768GBのRAM、最大11MBのL3キャッシュ、2つのUPIインターコネクト、コアあたり1つのFMAによるAVX-512ベクター処理を備えています。消費電力はパーツによって大きく異なり、最大約85Wです。
Intelは、部品番号の便利なデコーダーチャートを作成しました。旧Xeon E5およびE7ファミリーはGold 5xxxグループにマッピングされます。
部品番号の見方…クリックして拡大
では、実際に何が新しいのでしょうか?デスクトップやワークステーションのSkylakeとは異なり、これらのサーバーグレードのSkylakeの特徴は何でしょうか?大きな変更点は、Intelの新しいメッシュ設計です。これまで、ChipzillaはXeonコアをリング構造に配置し、共有L3キャッシュをすべてのコアに分散させていました。あるコアが別のコアに接続されたL3キャッシュスライスに保存されているデータにアクセスする必要がある場合、このリングインターコネクトを介して情報を要求していました。
これはCPU設計では珍しくないメッシュ設計に置き換えられました。これは、Xeon Phiファミリーに見られるように、コアとそのL3スライスをグリッド状にリンクするものです。これは基本的に、より多くのコアを効率的にサポートするために必要でした。リング型のアプローチはある程度までしかうまく機能しませんでしたが、今ではその限界に達しています。コアを追加しながらも、共有L3プールへのアクセス時に良好な帯域幅と低レイテンシを確保したい場合、リング型よりも複雑ではありますが、メッシュ型が最適な選択肢です。
素晴らしいメッシュですね。赤い線は双方向の転送パスを表し、黄色の四角はメッシュ交差点のスイッチです(どちらかの画像をクリックすると拡大します)
コアが隣接するコアのL3キャッシュに水平または垂直にアクセスする場合、インターコネクトクロックサイクルは1サイクルかかります。ただし、交差点をホップする必要がある場合は3サイクルかかります。メッシュのクロック周波数は、デバイスとターボモードの有無に応じて、1.8GHzから2.4GHzの間で設定されます。つまり、上の図では、右下隅のコアがすぐ左にあるコアのL3キャッシュにアクセスするのには1サイクルかかり、さらに左隣のキャッシュにアクセスするには4サイクルかかります(1ホップ、そして3ホップ)。
キャッシュについて言えば、共有L3ブロブはコアあたり2.5MBから1.375MBに削減され、コアごとのプライベートL2は256KBから1MBへと大幅に増加しました。これにより、L2がプライマリキャッシュとなり、L3はオーバーフローキャッシュとして機能します。また、L3は包括的ではなく非包括的になり、L2のデータ行がL3に存在しない可能性があります。つまり、RAMからフェッチされたデータは、L2とL3の両方ではなく、コアのL2に直接格納されます。
これは、データ センターのアプリケーション ワークロード、特に大容量のプライベート L2 が大容量の共有 L3 キャッシュよりも有用な仮想化のパターンに合わせて調整することを目的としています。
ダイをサブNUMAクラスターに分割することもできます。これは、前世代のクラスターオンダイ設計に代わるシステムです。これに加え、メッシュアーキテクチャ、様々な新しい電力消費レベル、そして新しいソケット間UPIインターコネクトについては、IntelのDavid Mulnix氏がここで詳細に、そしてほぼ独断的に解説しています。UPIとは、QPIに代わる、プロセッサ間の一貫したリンクです。
VMD(Intelのボリューム管理デバイス)と呼ばれる興味深い新機能も搭載されています。これは、PCIe接続のSSDを仮想ストレージドメインに統合します。オペレーティングシステムからは1つまたは複数のフラッシュチャンクとして認識されますが、その下には複数のNVMeデバイスが直接接続されています。この技術はサードパーティ製のRAIDカードの代替として利用でき、BIOSレベルで設定します。Purleyファミリーは、ビットエラー検出のための前世代のメモリ信頼性機能をさらに強化しています。
これらの新しいXeonはデスクトップ版Skylakeコアの多くの機能を共有していますが、モードベース実行(MBE)制御と呼ばれる新機能も搭載されています。これは、仮想化中にゲストカーネルへの悪意のある変更を阻止するものです。拡張ページテーブルエントリ内の実行有効化ビットを再利用することで、ユーザーモードでの実行とスーパーバイザー(カーネル)モードでの実行のいずれかを許可します。実行可能なカーネルページへの書き込みを禁止することで、ハイパーバイザーはセキュリティバグを悪用した悪意のあるユーザーによるゲストカーネルの改ざんや乗っ取りを防ぐことができます。これは、このIntelデータシートのセクション3.1.1に詳細が記載されています。