ニュース

Intel、最大18コアのHaswell-EPこと「Xeon E5-2600 v3」

〜DDR4メモリに対応し、Turbo Boostや仮想化機能を改善/強化

 Intelは、製品を開発するパートナーやエンジニアに向けたイベント“Intel Developer Forum(IDF)”を、9月8日からサンフランシスコ市内のコンベンションセンターで開催する。それに先立ち、同社がこれまで「Haswell-EP」の開発コードネームで開発してきたサーバー/ワークステーション向けのプロセッサ「XeonプロセッサE5-2600 v3」(以下Xeon E5-2600 v3)シリーズを発表した。

 Xeon E5-2600 v3は、データセンター向けサーバー市場の中核を占める2ソケット向けのCPUで、従来製品となるXeon E5-2600 v2(開発コードネーム:Ivy Bridge-EP)と比較して、CPUコアが最大12から18へ、メモリがDDR3-1866からDDR4-2133へと進化したほか、新しく256bit幅の整数演算が可能になるAVX2の命令セットに対応するなど大きく進化している。また、IAサーバーの強みである仮想化環境での性能向上が実現されている。

TICK-TOCKモデルのTOCKに相当するHaswell-EP、大幅な改良が加えられる

 Xeon E5-2600 v3は、サーバー/ワークステーション用マイクロプロセッサで、主に2ソケット向けに発売される製品となる。

 Intelのサーバー向け製品は、複数の製品がラインナップされている。ミッションクリティカルなサーバー向けで、「EX」の開発コードネームが付く製品(現行製品はIvy Bridge-EX、ブランドはXeon E7シリーズ)、さらにエントリーサーバー向けでHaswellが転用された製品(ブランド名はXeon E3 1200 v3シリーズ)などがあるが、今回の「EP」が付くXeon E5-2600シリーズは、サーバー向けプロセッサの中でも2ソケット向けとなる。現在日本のサーバー市場では、EP製品が半数以上を占めており、サーバー市場では主力製品だ。

Xeon E5-2600 v3シリーズの位置づけ、サーバー向けとしては主力モデルとなる

 今回発表されたXeon E5-2600 v3は、昨年(2013年)発表されたXeon E5-2600 v2、そして一昨年(2012年)に発表されたXeon E5-2600(開発コードネーム:Sandy Bridge-EP)の後継となる製品で、3世代前のXeon 5600番台(開発コードネーム:Westmere-EP)を入れて進化点をまとめると表のようになる

【表1】EPのコードネームを持つXeonの各世代(Intelの資料より筆者作成)
ブランド名 Xeon 5600番台 Xeon E5-2600 Xeon E5-2600 v2 Xeon E5-2600 v3
開発コードネーム Westmere-EP Sandy Bridge-EP Ivy Bridge-EP Haswell-EP
リリース年 2010年 2012年 2013年 2014年
製造プロセスルール 32nm 22nm
CPUコア(最大) 6 8 12 18
ダイ構成(コア数) 6 8 12、10、6 18、12、8
HT対応
LLCキャッシュ(コアあたり) 2MB 2.5MB
LLCキャッシュ(最大) 12MB 20MB 30MB/20MB/15MB 45MB/30MB/20MB
コアマイクロアーキテクチャ Nehalem世代 Sandy Bridge世代 Ivy Bridge世代 Haswell世代
CPUソケット Socket B(LGA1366) Socket R(LGA2011) Socket R3(LGA2011 v3)
最大ソケット 2
最大メモリ容量 288GB 768GB 1.5TB
メモリ DDR3-1333 DDR3-1600 DDR3-1866 DDR4-2133
メモリチャネル数 3 4
命令セット SSE4.2 SSE4.2/AVX SSE4.2/AVX2
QPI 2x最大6.4GT/sec 2x最大8GT/sec 2x最大9.6GT/sec
PCI Express PCI Express Gen2(チップセット側) PCI Express Gen3 PCI Express Gen3
PCI Expressレーン数 36(チップセット側) 40 40
DMI - DMI/Gen2(4レーン)
チップセット 5500(Tyrusburg) C600(Patsburg) C610(Wellsburg)

 Intelのプロセッサは、有名なTICK-TOCK戦略に基づいて開発されているが、見て分かるようにSandy Bridge-EPとHaswell-EPでは改良されている部分が多くなっている。これはSandy Bridge-EPとHaswell-EPがTOCK世代であることを意味している。

 CPUソケットは、従来と同じく2,011ピンのLGA2011になるが、CPUのパッケージは大型と小型の2つになり、そのパッケージの違いを吸収するために、CPUソケットは従来のIvy BridgeまでのSocket RからSocket R3(LGA2011 v3とも呼ばれる)に変更されている。サポートするメモリなども異なることもあり、ピン配置なども異なる。新しいSocket R3のマザーボードでは、Xeon E5-2600 v2やXeon E5-2600などは動作しない。

Xeon E5-2600 v3シリーズのパッケージ。左側がダイサイズが大きなSKU用のパッケージで、右側がダイサイズが小さなSKU用のパッケージとなる

 これに合わせてチップセットも新しくなっている。Xeon E5-2600 v3世代で提供されるのは開発コードネームWellsburg(ウェルスバーグ)で知られるIntel C610シリーズ・チップセットで、新たに10個のSATA 6Gbpsと、8つのUSB 2.0+6つのUSB 3.0などをサポートし、従来のIntel C600シリーズ・チップセット(開発コードネーム:Patsburg)に比べて強化されている。

【表2】Intel C610とIntel C600チップセットの比較

Intel C600シリーズ・チップセット Intel C610シリーズ・チップセット
開発コードネーム Patsburg Wellsburg
SATAポート 12×SATA 3Gbps(うち2つがSATA3として利用可能) 10×SATA 6Gbps
USBポート 14×USB 2.0 8×USB 2.0+6×USB 3.0
PCI Express 8×PCI Express Gen2(x1構成のみ) 8×PCI Express Gen2(x1、x2、x4構成)
ファームウェア vPRO、AMT、NM 2.0、DCM3.0 vPRO、AMT、NM 3.0、DCM4.0、MCTP、Thermal/Airflow Telemetry、CUPS
ソフトウェアRAID Intel RSTe 3.0 Intel RSTe 4.0
SMBus 6 6

 サーバーの場合には、ストレージはSATA接続ではなくSAS接続であることが多く、別途ストレージコントローラをPCI Expressで接続するのが一般的になっており、チップセットの機能はほとんど使われないことが多い。

 しかしこれとは別に強化された部分として、シャシーの排気口の温度、エアフロー、CPU/メモリ/IOの利用率などをファームウェアレベルで計測する機能がSPS(Server Platform Services)の新機能として実装されており、ソフトウェアとして提供される「Intelノードマネージャ3.0」を利用すると、サーバー管理者はハードウェアを追加することなく、これらをチェックできるようになっている。

HCC(18〜16コア)、MCC(12〜6コア)、LCC(8〜4コア)の3つのダイを用意

 Xeon E5-2600 v2世代では、CPUコアが最大12コアの製品を用意したが、今回のXeon E5-2600 v3では最大で18コアまで対応する。Xeon E5-2600 v2世代では、12/10/6コアという3つのダイ構成を用意したが、今回の世代では18コア(HCC:High Core Count)、12コア(MCC:Mid Core Count)、8コア(LCC:Low Core Count)という3つのダイを用意する。

【表3】Xeon E5-2600 v3のダイ構成
ダイ名 リングバス数 ホームエージェント数 コア数 消費電力 トランジスタ数 ダイサイズ
HCC 4 2 18〜14 145〜110W 56億9,000万個 662平方mm
MCC 3 2 12〜6 160〜65W 38億4,000万個 492平方mm
LCC 2 1 8〜4 140〜55W 26億個 354平方mm
Xeon E5-2600 v3のダイバリエーション

 ダイとコア数が一致しない製品は、その3つのダイから一部を無効にして提供するからだ。ただし、単純に無効にするわけではなく、例えば12コアのダイを利用して6コアの製品を提供することも行なう。これは、Haswell-EPのCPU内部構造が、18コア(HCC)/12コア(MCC)と8コア(LCC)では大きく異なっているためだ。

 Xeon E5-2600 v3では従来のXeon E5-2600 v2と同じように、複数のリングバスがCPUコアを繋ぐのだが、Xeon E5-2600 v2では全コアを繋ぐ1つのリングと、コアを2つのブロックに分けてそれぞれを繋ぐリングという構造になっていたのに対して、HCCとMCCは2つの分離したリングバスがそれぞれのコアを接続しており、それぞれのリングバスをバッファスイッチで接続する形になった。こうした構造になっているのはデザイン上の理由であり、バッファスイッチが間に入ることで数サイクルのペナルティがあるが、大きな影響を与えるほどではないという。

 HCC/MCCとLCCのもう1つの大きな違いは、ホームエージェントと呼ばれるメモリコントローラとリングバスを接続するコントローラがHCC/MCCは2つあるのに対して、LCCは1つのみとなる点だ。前者は1つのホームエージェントに2チャネルのメモリコントローラが接続され、合計で4チャネルという構成になっており、後者は1つのホームエージェントに4チャネルのメモリコントローラが接続される。ホームエージェントにはキャッシュメモリが搭載され、後述するスヌープをより効率よく行なう仕組みになっており、2つのホームエージェントがあるHCC/MCCの方が内部効率の向上という観点では有利になる。

 なお、プロセッサコアそのものはクライアント向けのHaswellとまったく同じデザインになる。分岐予測の改善、TLBの容量アップ、実行ユニットの増加などにより、従来世代(Ivy Bridge世代)に比べて10%のIPC改善が図られている。また、新しい命令セットとしてAVX2に対応しており、新しくFMA(Fused Multiply Add、混合セキュア演算)命令、AVX命令を利用した256bitの整数演算に対応し、対応アプリケーションで利用すると大幅な性能向上を実現できる。特に、HPC向けの演算などで効果があるとされており、アプリケーションの種類によるが1.25〜1.72倍程度の性能向上が実現できる。

プロセッサコアそのものはクライアント向けHaswellとまったく同等になっている。Ivy Bridge世代に比べると10%のIPC向上を実現
AVX2では新たにFMA命令が追加されている
AVX2ではAVX命令を利用して256bitでの整数演算が可能になっている

新しいキャッシュスヌープ方式となるCODをサポート

 新しいスヌープモードのサポートも改善点の1つとして挙げられる。現代的なプロセッサのように複数のコアが存在する場合には、複数あるキャッシュがデータを更新した時、最新のデータにアクセスできるように、データの一貫性を維持する必要がある。こうした一貫性のことは“キャッシュコヒーレンシ”と呼ばれるている。このキャッシュコヒーレンシを実現する方式として、「スヌープ(Snoop)」と呼ばれるキャッシュメモリ自体がほかのキャッシュメモリと更新状態のデータをやりとりする方法があるが、Xeon E5-2600 v3ではこのスヌープに新方式が追加されている。

2ソケットのXeon E5-2600 v3のMCC以上のダイではCODモードが追加されている
ホームエージェントにはディレクトリーキャッシュが内蔵されている

 Xeon E5-2600 v3には3つのスヌープ方式が用意されている。標準で設定されているのは「アーリースヌープ」または「ソーススヌープ」と呼ばれ、キャッシュエージェントがスヌープ信号を送る仕組みで、Xeon E5-2600でサポートされた方式だ。前世代となるXeon E5-2600 v2では「ホームスヌープ」方式追加され、前述のメモリコントローラと接続する部分になるホームエージェントがスヌープを送る。

 これに対して、Xeon E5-2600 v3で追加されたのがCOD(Cluster On Die)と呼ばれる方式で、プロセッサ内部を2つのクラスタに分割し、2つあるホームエージェントにあるダイレクトリーキャッシュと呼ばれる14KBのキャッシュテーブルをまず参照。そこでヒットしない場合にのみホームエージェントがスヌープを行なうという仕組みだ。これにより、LLC(Last Level Cache、L3キャッシュのこと)のヒット率上げ、かつメモリレイテンシの低減、メモリ帯域の効率的な利用も実現できる。

 CODモードを利用するには、ホームエージェントが2つ存在しなければならないので、利用できるのはLCCとMCCのダイのXeon E5-2600 v3のみとなる。また、クラスタは基本CPUのプロセッサが半分ずつとなるので、LCCの18コアのように左側のリングバスに8つ、右側のリングバスに10個と非対称になっている場合には、左側のリングバスに接続されているコアのうち1つだけ、別のクラスタに属する形になる。リングスイッチによる数サイクルのペナルティがあるが、全体としては大きな性能低下にはならないとIntelのアーキテクトは説明している。

 また、システムがどのスヌープ方式を利用するかは、システム側で明示的に指定する必要があり、稼働中に切り替えて利用することはできない。おそらくBIOSセットアップを利用して、管理者がワークロードに適したスヌープ方式を選択する必要がある。

低消費電力かつ広帯域になったDDR4メモリに対応、最大で1.5TBまで対応可能に

 Xeon E5-2600 v3では、対応メモリに関してもDDR3からDDR4へと変更されている。DDR4はDDR3の仕様を元に新しく規定されたメモリで、DDR3と比較すると以下のような違いがある。

【表4】DDR3とDDR4の違い

DDR3 DDR4
電圧(低電圧オプション) 1.5V(1.35V) 1.2V
プリフェッチ 8bit 8bit
内部バンク 8 16
データレート(MHz) 800/1,066/1,333/1,866 1,600/1,866/2,133/2,400/2,667/3,200
モジュール容量 512MB〜64GB 2GB〜128GB
DIMMピン数 240ピン 288ピン
DDR4を採用するメリット。電圧が低下することで消費電力が減り、かつ帯域幅が増える

 これまでのメモリの進化は、メモリデバイス内部のセルにアクセスするプリフェッチを増やすことで実現してきた。DDRでは2bit、DDR2では4bit、DDR3では8bitと倍になることで、データの転送レートが上げられてきた。DDR4ではプリフェッチそのものはDDR3と同じ8bitに据え置かれるが、メモリデバイス内部のセルアレイがDDR3では8つに分割されていたのに対して、DDR4では16に分割することで、内部データ転送レートの高速化を図っている。

 プリフェッチが8bitに据え置かれることで、DDR3に近いコストで製造することが可能になっており、量産が進めばDDR3とほぼ同じコストで製造できるようになると見られる。

 DDR4の大きな特徴は、消費電力を大きく左右する駆動電圧が、DDR3の1.5Vから1.2Vへと引き下げられている点だ。DDR3にはDDR3Lという低電圧版(1.35V)が追加されたが、それに比べても低くなっており、DDR3Lと比較して約20%の消費電力の削減が期待できる。

 また、新たにCAパリティモード、Write CRC、Connectivity テストモード、MRSリードアウトモード、ターゲットローリフレッシュ、ポストパッケージリペアなどの新しい6つのRAS機能が追加されており、従来のDDR3に比べて信頼性が向上している。例えばポストパッケージリペアでは、システムをシャットダウンすることなく壊れたエラーを修正できる。

 DDR4では、デバイス単体で16Gbit(最大)、128Gbit(3Dスタッキング時)のデバイスを製造可能で、将来的には最大で1モジュールで128GBというメモリモジュールを実現できる。現時点では64GBが最大となるので、64GB×4(チャネル)×3(チャネルあたりのスロット)×2(ソケット)=1.5TBと、現時点では1.5TBのメモリがXeon E5-2600 v3の最大対応メモリという計算になる。将来的に128GBのモジュールが登場し、マザーボード側がサポートすれば、最大3TBのメインメモリという構成も可能になりそうだ(実際Xeon E5-2600 v2もIntelの公式スペックでは768GBまでだが、マザーボードによっては1.5TBサポートの製品もある)。なお、モジュールはRDIMM(Registered DIMM)とバッファ入りのLRDIMM(Load Reduced DIMM)に対応しており、ユーザーのニーズに応じて選択することができる。

 なお、それぞれのチャネルに実装できるモジュール数は、メモリデバイスの動作クロックに応じて変わってくる。Intelが発表した資料によれば以下のようになっている

【表5】メモリチャネルあたりのDIMM数とクロック周波数の設定
チャンネル数あたりのDIMM DDR3/1.5V DDR3L/1.35V DDR4(RDIMM) DDR4(LRDIMM)
1 1,866 1,600 2,133 2,133
2 1,600 1,333 1,866 2,133
3 1,066 800 1,600 1,600

 RDIMMを利用した場合に、DDR4-2133で利用したい場合は、チャネルあたりのDIMM数を1つにしておく必要がある。バッファ入りのLRDIMMの場合は2本まで可能となる。いずれにせよ、チャネルあたり3DIMM構成の場合にはRDIMMであろうが、LRDIMMであろうが1,600MHzになってしまうので、最大メモリ構成で利用する場合には、メモリの帯域幅が若干下がることになる。このあたりは、帯域優先なのか、メモリ容量優先なのかで構成が決まってくるだろう。

 なお、表にはDDR3時の構成が記載されているのは、実はXeon E5-2600 v3はアーキテクチャ的にはDDR3メモリにも対応しているからだ。すでに述べた通り、DDR3とDDR4は技術的にはかなり似通っており、特にメモリコントローラとのインターフェイスは同じシングルエンド/ソースシンクロナスで共通しており、メモリコントローラが両方をサポートすることは可能だ(共存できるということではない、同じメモリコントローラで、マザーボードをデザインする段階でDDR3とDDR4を切り替えて利用できるという意味だ)。

 DDR3とDDR4ではDIMMソケットのピン数も異なっているため、CPUに関しても、マザーボードに関してもDDR3に特化した製品が必要になる。今回Intelは公式に発表しているSKUはすべてDDR4対応としており、DDR3対応のSKUは用意されていない。しかし、大規模に導入する顧客などがそれを求めた場合、DDR3版を用意することは技術的には可能だ。現時点ではDDR3のモジュールの方が安価で、とにかく大容量のメモリを搭載したいというニーズであれば、DDR3の方が良いというパターンも考えられる。

IVRの導入によりコアやアンコアの周波数/電圧制御をより柔軟に行うことが可能に

 Xeon E5-2600 v3ではプロセッサコアだけでなく、アンコアと呼ばれるプロセッサコア以外の部分も強化されている。特にアンコア関連の強化で目立つのは省電力機能の強化だ。

 Xeon E5-2600 v3ではPCPS(Per Core P-States)という機能が追加されている。具体的にはプロセッサのコアで、それぞれのコア毎に周波数/電圧を調整する機能だ。例えば、CPUが6コアあっても、シングルスレッドの処理を行なっている時には、1つのコアしか利用されていない。その時にその利用されている1つのコアだけ、最大性能を発揮できるように周波数と電圧を引き上げ、他のコアは低い周波数/電圧のままにとどめておけば、無駄な電力を消費しないで済む。

クライアント版のHaswellに導入されているIVRがEPラインにも搭載されている

 こうした動作が可能になったのは、クライアントのHaswellでも導入されたIVR(Integrated Voltage Regulator)と呼ばれる、ダイ上に電圧変換器が実装されたためだ。Xeon E5-2600 v2までは、マザーボード上に電圧変換器が用意されており、それがCPUが必要な複数の電圧に変換して供給する仕組みになっていた。これだと柔軟性がある電圧制御が難しかったのだが、Xeon E5-2600 v3ではIVRが導入されたため、PCPSのような複雑な制御が可能になった。

 なお、従来はサーバーで130WだったTDP(熱設計消費電力)が、Xeon E5-2600 v3では140Wに増えている。これは電圧変換器がダイに統合されたためで、その分マザーボード側の消費電力が減っているので、システム全体として増えているわけではない。

 また、アンコアのTurbo Boost(サーマルのリミットの隙間を利用して周波数を一時的に引き上げる機能のこと)に関しても、IVRの導入により柔軟性がある制御が可能になっており、具体的には以下のような制御が可能になっている。

【表6】Turbo Boost時の動作の進化

Nehalem-EP/Westmere-EP Sandy Bridge-EP/Ivy Bridge-EP Haswell-EP
プロセッサコア ターボ ターボ ターボ/PCPS
アンコア - ターボ(プロセッサコアと同期) ターボ(プロセッサコアと非同期)

 Nehalem-EP/Westmere-EP世代では、プロセッサがターボモードで動くことが新機能として追加され、Sandy Bridge-EP/Ivy Bridge-EP世代ではそれに加えてアンコアがプロセッサコアに同期してターボモードで動くようになった。

 これに対して、新世代では新たにアンコアがプロセッサコアからは独立してターボモードで動くようになる。これにより、性能が必要なアプリケーションにはプロセッサだけをターボモードにし、逆にキャッシュやメモリが効くようなアプリケーションではアンコアだけをターボモードにする制御が可能になる(むろん熱処理に余裕があれば両方をオンにできる)。

AVXベースと呼ばれる新しいベースクロックの定義が導入される
AVX命令が実行されるときに、CPUはAVXベースで定義されているクロック周波数に一時的に下がって実行し、実行終了後元のベースクロックに戻る
AVXベースの考え方。元のベースクロックよりも低めにAVXベースが設定されており、そこから熱設計の限界の範囲内で周波数が上がっていくことになる。

 さらに、Xeon E5-2600 v3ではTurbo Boost時のAVX実行定義が追加された。AVXによる演算を行なっている時に、CPU内部の演算ユニットの利用率が通常より高まるので、消費電力が増えることがあり、その場合にTurbo Boostを有効にしていると、放熱容量よりも多くの熱を発生し、サーマルスロットリングでクロックが大幅に低下してしまうという場合に対処するためだ。

 基本的にはこうした処理は動的に行なっているため、ユーザーが特に気にする必要はないのだが、HPCで利用する場合などに、AVXなどを主に利用し、かつそうした状況でも安定した性能を得たいニーズがある。そこで、IntelではTurbo Boost時に、AVXベース周波数を定義し、AVX命令実行時はその周波数に一時的に下げ、そこから熱処理に余裕がある場合に、通常のTurbo Boostと同じように周波数を上げていく(AVX命令実行終了後には通常の周波数に復帰する)。こうすることで、AVX命令実行時であっても、少なくともAVXベースクロックでは確実に動作するということを保証でき、システム管理者が性能の予測値を立てやすくなる。

 また、AVXではない場合でも、Turbo Boostにより想定よりもクロック周波数が上がり発熱が増えることで、プロセッサがサーマルスロットリングモードに入り周波数がベース周波数よりも低くなり、結果的に性能低下を招くことが、特にHPCの分野ではある。そこで、BIOS設定などで、Turbo Boost時に引き上げるリミットとなる周波数を設定する機能を用意し、Turbo Boostのある程度のメリットを享受しつつ、HPCのように常にフルロードで動く場合でも性能の低下を招かないようにすることが可能になっている。

Turbo Boost時にクロックが一時的に上がることで、プロセッサ全体の消費電力が上がりすぎて結果としてサーマルスロットリングになり性能が低下することを防ぐため、あらかじめTurbo Boost時の限界を下げることもできる

VM Entry/Exitの削減や、ノイジーネイバーの検出機能など仮想化向けの拡張

 サーバーの世界では、仮想化への対応が大きな鍵となりつつある。IAサーバーの強みは、こうした仮想化技術でほかのサーバー向けプロセッサに比べて充実している点で、Intelとしてもその強化には力を入れている部分だ。Xeon E5-2600 v3でも仮想化技術への対応は強化されており、仮想化アクセラレーション技術(VTーx)の強化が行なわれている。今回の製品で実装されたVT-x向けの強化点としては、VM entry/exit レイテンシ低減、VMCSシャドーイング、EPT(Extended Page Table)アクセス/ダーティビットへの対応、キャッシュ割り当ての監視機能の4つがある。

VT-x実行時のオーバーヘッドの削減が毎世代でテーマになっており、徐々に減ってきている。近年はサーバーでは仮想化が進みつつあるので、この性能向上は非常に重要な要素

 仮想化環境ではゲストOSからハイパーバイザーないしはホストOSへの切り替えが非常に頻繁に行なわれている。VM Entry/Exitは単純に言えばその切替のことで、VM Entryがハイパーバイザー/ホストOSからゲストOSへの切り替え、VM Exitはその逆の切り替えとなる。大雑把に言えば、VT-xはそのVM Entry/Exitをソフトウェアでやるよりも高速にするための機能なのだが、Xeon E5-2600 v3ではその遅延が前世代よりも短くなっている(毎世代改善されているが)。

Nested VM時のVM Exit/Entryを減少するのがVMCSシャドーイング

 2つ目のVMCSシャドーイングは、Nested VMとかNested Virtualizationとか呼ばれる、ベアメタルハイパーザーバーの上にベアメタルハイパーバイザーを乗せる形での仮想化を利用する場合にVM Entry/Exitを削減する目的で導入される技術だ(システム管理者が実際のシステム上でテスト用仮想マシンを走らせる場合などに、こうしたやり方がある)。通常はVMCSと呼ばれる元のベアメタルハイパーバイザーにあって、ゲストOSとVM EntryやExitのやりとりを行なうソフトウェアレイヤーを、VMCSシャドーと呼ばれるレイヤーへと移動することで、VM Entry/Exitを減らすことが可能になる。元のベアメタルハイパーバイザーの側での対応が必要になるが、Nested VM時の性能を向上させられる。

EPTアクセス/ダーティビットへの対応。やはりVM Exit/Entryを減らすことができる

 3つ目がEPT(Extended Page Table)アクセス/ダーティビットへの対応だ。このビットをハードウェアで有効にすると、VM Entry/Exitを発生させることなく、ハイパーバイザーがゲストOSのメモリの読み書きを監視できるようになり、VM Entry/Exitを低減できる。こちらもソフトウェア側で実装されている必要がある。なお、IntelではVMCSシャドーイング、EPTアクセス/ダーティビットの機能にどのベアメタルハイパーバイザーが対応するのかは明らかにしておらず、今後の対応を待つ必要があるだろう。

キャッシュモニタリングの機能を使うとノイジーネイバーを検出して、スケジューリングを組み替えることが助けることができる

 そして最後がキャッシュモニタリングの機能だ。具体的には、ハードウェアの機能により、キャッシュ(LLC)を占有しているハードウェアを検出し、優先度付を行ない優先度に応じたスケジューリングを助ける。特に仮想化環境ではノイジーネイバー(Noisy Neighbor)と呼ばれるキャッシュを占有してしまうVMがあると、キャッシュミスが頻発しシステム全体として性能が低下することになる。そこで、そうしたノイジーネイバーを検出し、キャッシュを解放させるようにスケジューリングすることで、ノイジーネイバーの影響を最小限に抑えるようにできる。

通信事業者用に提供されるSKUでは、ノイジーネイバーを追い出して最適化が可能

 ただし、一般的なSKUでできるのは、検出とスケジューリングを助けることぐらいで、実際にキャッシュの利用を最適化することまではできない。しかし、通信キャリア向けに提供されるSKUでは、ソフトウェアからの制御によってVMやアプリケーションがどの部分のキャッシュを利用するのかを制御できる。ただし、これは通信キャリアなどが利用するリアルタイムOSでのみ利用可能だ。

同時に40Gb EthernetとなるXL710も発表される

 Intelの発表によれば、Xeon E5-2600 v3に用意されている製品のSKUと、価格(千個ロット時)は以下のようになっている。2ソケット対応のXeon E5-2600 v3と1ソケット対応のXeon E5-1600 v3にそれぞれSKUが用意されている。

【表7】2ソケット向けXeon E5-2600 v3 SKU構成と価格
プロセッサナンバー コアスレッド ベースクロック ターボ TDP LLC QPI メモリ 価格(千個ロット時、ドル)
E5-2699 v3 18/36 2.3GHz 145W 45MB 9.6GT/秒 DDR4-2133 未定
E5-2698 v3 16/32 2.3GHz 135W 40MB 9.6GT/秒 DDR4-2133 未定
E5-2697 v3 14/28 2.6GHz 145W 35MB 9.6GT/秒 DDR4-2133 2,702
E5-2695 v3 14/28 2.3GHz 120W 35MB 9.6GT/秒 DDR4-2133 2,424
E5-2690 v3 12/24 2.6GHz 135W 30MB 9.6GT/秒 DDR4-2133 2,090
E5-2687W v3 10/20 3.1GHz 160W 25MB 9.6GT/秒 DDR4-2133 2,141
E5-2683 v3 14/28 2.0GHz 120W 35MB 9.6GT/秒 DDR4-2133 1,845
E5-2680 v3 12/24 2.5GHz 120W 30MB 9.6GT/秒 DDR4-2133 1,745
E5-2670 v3 12/24 2.3GHz 120W 30MB 9.6GT/秒 DDR4-2133 1,589
E5-2667 v3 8/16 3.2GHz 135W 20MB 9.6GT/秒 DDR4-2133 2,057
E5-2660 v3 10/20 2.6GHz 105W 25MB 9.6GT/秒 DDR4-2133 1,445
E5-2650L v3 12/24 1.8GHz 65W 30MB 9.6GT/秒 DDR4-2133 1,329
E5-2658 v3(*1) 12/24 2.2GHz 105W 30MB 9.6GT/秒 DDR4-2133 1,832
E5-2650 v3 10/20 2.3GHz 105W 25MB 9.6GT/秒 DDR4-2133 1,167
E5-2648L v3(*1) 12/24 1.8GHz 75W 30MB 9.6GT/秒 DDR4-2133 1,544
E5-2643 v3 6/12 3.4GHz 135W 20MB 9.6GT/秒 DDR4-2133 1,552
E5-2640 v3 8/16 2.6GHz 90W 20MB 8GT/秒 DDR4-1866 940
E5-2637 v3 4/8 3.5GHz 135W 15MB 9.6GT/秒 DDR4-2133 995
E5-2630 v3 8/16 2.4GHz 85W 20MB 8GT/秒 DDR4-1866 666
E5-2630L v3 8/16 2.4GHz 55W 20MB 8GT/秒 DDR4-1866 612
E5-2628L v3(*1) 10/20 2.0GHz 75W 25MB 8GT/秒 DDR4-1866 1,364
E5-2623 v3 4/8 3GHz 105W 10MB 8GT/秒 DDR4-1866 444
E5-2620 v3 6/12 2.4GHz 85W 15MB 8GT/秒 DDR4-1866 417
E5-2618L v3(*1) 8/16 2.3GHz 75W 20MB 8GT/秒 DDR4-1866 779
E5-2609 v3 6/6 1.9GHz - 85W 15MB 6.4GT/秒 DDR4-1600 306
E5-2608L v3(*1) 6/12 2GHz - 52W 15MB 6.4GT/秒 DDR4-1866 441
E5-2603 v3 6/6 1.6GHz - 85W 15MB 6.4GT/秒 DDR4-1600 213

(*1)通信事業者/ストレージ向けSKU

【表8】1ソケット向けXeon E5 1600 v3 SKU構成と価格
プロセッサナンバー コアスレッド ベースクロック ターボ TDP LLC QPI メモリ 価格(千個ロット時、ドル)
E5-1680 v3 8/16 3.2GHz 140W 20MB n/a DDR4-2133 1,723
E5-1660 v3 8/16 3GHz 140W 20MB n/a DDR4-2133 1,079
E5-1650 v3 6/12 3.5GHz 140W 15MB n/a DDR4-2133 584
E5-1630 v3 4/8 3.7GHz 140W 15MB n/a DDR4-2133 373
E5-1620 v3 4/8 3.5GHz 140W 10MB n/a DDR4-2133 295

 なお、IntelはXeon E5-2600 v3と同時に、40Gb Ethernetコントローラとなる「XL710」(開発コードネーム:Fortville、フォートビル)も同時に発表している。XL710は10Gbpsないしは40Gbps(双方向時には80Gbps)で通信ができるネットワークコントローラで、PCI Express Gen3 x8の拡張カードとして提供される。40Gbps時にはQSFPコネクタと対応したケーブルを利用して通信することができる。サポートOSとしてはWindows Server 2012/2012 R2、Windows 2008 R2 x64、FreeBSD、Solaris、Linux RHEL/SuSE、Linux Kernel IB Free、VMWare ESXi 5.5などとなっている。

40Gb EthernetコントローラとなるXL710(開発コードネーム:Fortville、フォートビル)
Intel Ethernet Controller XL710

 Intelによれば、Xeon E5-2600 v3はすでにOEMメーカーへの出荷が開始されており、発表後間もなくOEMメーカーなどからサーバー製品などに搭載されて発売される見通しだ。

Xeon E5-2600 v3を搭載したブレードサーバー
最上位SKUとなるXeon E5 2699 v3でCinebench R15を実行しているところ。72個の論理CPUがフルロードになっている姿は圧巻だ
Cinebench R15をマルチスレッドでCPUのみで演算した結果は3896、シングルコアでは115なので、実に33.74倍。物理コアは36個なので、かなり高効率だ
【動画】Cinebench R15を実行しているところ

(笠原 一輝)