後藤弘茂のWeekly海外ニュース

Intelが18 CPUコアの超巨大「Haswell-E」ファミリを発表

Intelでは過去最大規模のマルチコアサーバーCPU

 Intelは、米サンフランシスコで今週(9月9日〜11日)開催する技術カンファレンス「Intel Developer Forum(IDF)」に合わせて、サーバー向けの18コアCPUを含む「Intel Xeon E5-2600 v3」ファミリを発表した。すでに発表されているデスクトップの「Intel Core i7-5960X」と同じHaswell-Eファミリだ。デスクトップでは8コア構成までだが、サーバーでは3種類のダイ(半導体本体)で18コアまでの構成が提供される。IntelのパフォーマンスCPUコア製品では、最大のCPUコア数となるマルチコアチップだ。18コア構成のダイは662平方mmで、通常のIA-32系で過去最大だった「Nehalem(ネハーレン)-EX」の684平方mmに近い。

「Intel Xeon E5-2600 v3」ファミリ
18コア構成のHaswell-Eのダイ(PDF版はこちら)
Intel CPUのダイサイズ一覧(PDF版はこちら)

 また、今回発表されたのは、QuickPath Interconnect(QPI)が2リンクで主にデュアルソケット向けのE5(EP)系で、同じHaswell-EファミリでもQPI 3リンクのマルチソケット向けのE7(EX)系はまだ発表されていない。しかし、Intelは、前世代のIvy Bridge(アイビーブリッジ)アーキテクチャのIvyTownから、1つの基本アーキテクチャから3種類の異なるダイで、E5/E7両系列を派生させる戦略を取っている。Haswell-Eも同様に、3種類のダイと、E5/E7の3系列の製品に派生する見込みだ。ちなみに、E5系とE7系の半導体チップとしての最大の違いはQPIリンクの数で、E5ではQPIが1リンク無効化されている。

 前世代のIvyTownとは、同じ22nmプロセスのサーバーCPUでもさまざまな部分で強化されている。まず、CPUコアのマイクロアーキテクチャはIvy BridgeからHaswellに変わりAVX2命令が加わった。ただし、HaswellのトランザクショナルメモリTSX命令は、まだ無効にされたまま(次世代のE7クラスから対応予定)だ。

 CPUコア数は最大15コアだったのが18コアに増え、オンダイのLLキャッシュの量は40MB(各CPUコア毎に2.5MBのスライス)に増えた。電圧レギュレータのオンダイ&パッケージへの統合技術「IVR(Integrated Voltage Regulator)」が実装され、電力効率が大幅に上がった。

Haswell-Eの特徴
Haswellマイクロアーキテクチャの特徴
Haswellマイクロアーキテクチャのブロックダイアグラム図(PDF版はこちら)

 4チャネルのDRAMインターフェイスはDDR3(最高1,866Mtps)からDDR4(最高2,133Mtps)へと変わった。チップ間インターコネクトのQuickPath Interconnectは、従来の8Gtpsから9.6Gtpsへと高速化された。また、仮想化のハードウェア支援機能も強化され、オンダイでのハードウェアベースのクラスタ分割などの機能も加わった。リソース監視機能も強化された。TDP(Thermal Design Power:熱設計消費電力)はサーバーで最大145W、ワークステーションで160Wだ。

Haswell-EベースのE5ファミリの特徴

2ペアのリングで18コアをリング接続

 18コアになったことで、前世代からまず大きく変わったのは内部バスだ。Haswell-EもIvyTown同様にリングバスを使うが、リングバスの構成が大きく異なっている。簡単に言えば、IvyTown系では最大3リングだったのがHaswell-E系では最大4リングとなっている。下のスライドのように、対向する2リングのペアが2つあり、その間をバッファスイッチが結ぶ構成となっている。

IvyTownとHaswell-Eのリングバス

 これをもう少し分かりやすく図式化すると下の図のようになる。CUコアとLLキャッシュスライスのペア毎に対向するリングペアに対するリングストップがある。左のリングに8コア、右のリングに10コアがぶら下がっている。非対称のリング構成だ。

18コアのHaswell-Eのリングバス構成(PDF版はこちら)

 PCI ExpressなどのI/Oのリングストップと、2リンクのQPIのリングストップは左のリング。3つ目のQPIのリングストップは右のリングでE5系ではこのQPIは無効化されている。ホームエージェントは2ユニットで左右のリングに分散されている。18コアの構成の場合は左右それぞれのホームエージェントがそれぞれ2個のDRAMコントローラを制御する。

 リングバス構成を前世代のIvyTownと比較すると下の図のようになる。15コア構成のIvyTownのリングは複雑で、さらにリングのトポロジを2パターン変えることもできる。単純な計算では、Haswell-Eではリングが1つ増えたことで、内部のデータ転送の効率が上がったことになる。また、このリングバス構成は、後述するオンダイクラスタリングに向いている。

左が15コアのIvyTownのリング、右が18コアのHaswell-Eのリング(PDF版はこちら)

 Haswell-Eではリングバスの構成を変更することで、コア数の異なる3種類のダイを派生させている。18コア版のほかに、12コア版と8コア版だ。先月発売されたデスクトップ向けの「Core i7-5960X」は、このうちの8コア版のダイを使ったものだ。

Haswell-Eファミリの各ダイのリングバス構成(PDF版はこちら)
左がデスクトップ向け8コア版Haswell-Eのダイ、右がサーバー向け18コアのダイ(PDF版はこちら)

統合電圧レギュレータはHaswellと同じパッケージトレースインダクタ

 IntelのHaswell世代の省電力機能の要である統合電圧レギュレータ(IVR)もHaswell-Eファミリに実装された。電圧を供給するレーンはCPUコア単位で、CPUコア単位の細粒度で電圧&周波数の切り替えが可能となったという。また、CPUコア以外の非コア部分も、複数のユニットに分割して個別の電圧供給が行なわれる。

Haswellの特徴的な省電力機能IVR(統合電圧レギュレータ)がHaswell-Eにも実装された
通常版のHaswellでのパッケージインダクタの構成
HaswellではIVRを、オンチップのバックコンバータとMIMキャパシタ、オンパッケージのインダクタで構成する

 IVRの実装の方法は通常のHaswellと同じで、オンパッケージの「パッケージトレースインダクタ(package trace inductor)」を使う。これはBroadwell系とは異なる。この方式の場合、IVRのユニットのうち、インダクタ部分だけがオンダイ(On-Die)ではなくパッケージ基板内にある。CPUパッケージに、ディスクリートボルテージレギュレータ(VR)のサブストレートを加えて電力を供給するようなソリューションとは異なる。Haswell-Eのパッケージの背面には、パッケージトレースインダクタに特有のコイルパターンが刻まれている。

 この技術では、パッケージのサブストレートにインダクタパターンを生成する。サブストレートのPTH(Plated Through-Hole)とトレース(Trace)を使って、エアコアインダクタ(Air Core Inductor:ACI)を作る。PTHの回りを回り込むコイル状の形状になっているように見える。非磁性材料のトレースであるため、標準的なパッケージ技術で製造できる。

 省電力技術では、このほかに、AVX命令実行時の動作周波数を新たに設けた。電力消費が大きいAVXユニットが動作する時だけ、通常より動作周波数を下げてTDP(Thermal Design Power:熱設計消費電力)枠を維持する。定格のベース周波数とターボ周波数とは別に、AVX時のベース周波数とターボ周波数があり切り替わる。フロントエンドがAVX命令を検出すると始まり、AVX命令が終了すると1ms程度で復帰する。Haswell-Eに内蔵されたPCU(Power Control Unit)が制御を行なう。

DDR4で帯域を拡張しながら電力も減らす

 Intelはハイエンドサーバー向けには4チャネルのDRAMインターフェイスを採用してきた。DRAMは、IvyTownではDDR3対応で最高1,866Mtpsをサポートしていた。それに対してHaswell-EではDDR4で最高2,133Mtpsをサポートする。ピークメモリ帯域は59.7GB/secから68.3GB/secに拡張された。ただし、これはピークを比べた数字で、実際には差はもっと大きい。

 IvyTownもHaswell-Eもどちらも1チャネル当たり最大3枚のDIMMをサポートする。しかし、IvyTownの場合は3枚のDIMMを1チャネルに載せた場合は、DDR3 1,066MHzまで転送レートが落ちてしまう。それに対して、Haswell-Eでは、3枚のDIMMを挿した場合も1,600MHzで動作できる。3枚のDIMMを挿すユーザーは非常に多いため、スペック以上にHaswell-Eの方がメモリ帯域が広くなる。最高帯域で比べると伸びはわずか14%だが、3 DIMM/チャネル時の帯域で比較すると計算上で50%、実効でも44%帯域が伸びるという。DIMMはRDIMMとLRDIMMの両方でこの構成が可能という。また、DDR3からDDR4では、コアとI/Oの両方の電圧がDDR3の1.5VからDDR4では1.2Vに低下したため、省電力効果が大きい。

Haswell-EではDDR4によって帯域の拡張と電力の低減の両方が可能に
IDF2014 ShenzhenでIntelが説明したDDR4メモリのスペック
3 DIMM/チャネルで1,600Mtpsでも良好なアイが開くDDR4

マルチコアCPUを分割するクラスタモード

 メニイコアらしい機能としては、オンダイのCPUコア分をクラスタ分割する「COD (Cluster On Die)」モードが加わった。最大18個のCPUコアを2つのクラスタに分割して使うことができる。利点は、2つのクラスタ間をフィルタリングすることで、コヒーレンシトラフィックを大幅に減らすことができること。上位のソフトウェアからは2CPUパッケージのように見える。

 物理的には、“ほぼ”2つのリングで2クラスタに分割できるため、キャッシュ間の平均の転送レイテンシも低減できる。2基のホームエージェントも、2つのクラスタそれぞれに専用となるため、メモリアクセスのリクエストもクラスタ毎に分割され、結果として実効メモリ帯域が上がる。また、ホームエージェントはそれぞれ14KB(8-way、256set、2セクタ)のディレクトリキャッシュを内蔵している。そのため、キャッシュにヒットした場合はスヌープトラフィックを軽減できる。

 難点は、Haswell-Eでは、リング構成が非対称であるため、18コアを9コアずつに分割した場合は、右側のリングに左のクラスタのコアが1つ含まれてしまい、右のリングにも左のクラスタのコヒーレンシトラフィックが一部流れてしまうこと。メニイコアでは、クラスタ分割してコヒーレンシトラフィックを低減するというアイデアは、非常に早い段階からIntelは提案しており、ようやく実装された。

仮想化ハードウェアも拡張

 仮想化のハードウェア支援は、IntelのサーバーCPUでは世代毎に進化しているが、Haswell-Eでも一段進歩した。VMCS(Virtual Machine Control Structure)シャドーイングによって、VM Exit/Entryの回数を減らすことが可能になった。VMM(Virtual Machine Monitor)がネストしている場合、従来ではルートVMMとゲストVMMの間で必ず仮想マシン間でのExit/Entryが発生してソフトウェアオーバーヘッドが大きかった。それを、シャドーイングしたVMCSに対してVMREAD/VMWRITE命令でアクセスができるようにして、ネストVM間のVM Exit/Entryの大半を不要にした。

 これによって、仮想化の階層化への対応が容易になった。また、EPT (Extended Page Table) のアクセス/ダーティビットのサポートによって、従来はソフトウェアで行なっていたアクセス/ダーティのトラッキングを不要として、その分のVM Exit/Entryを低減した。その結果、VT-xラウンドトリップのサイクル数を減らして、仮想化の性能を引き上げることができた。

Haswell-Eでは仮想化機能も強化
ネストした階層化仮想化の実装事例

 また、仮想化に絡むハードウェア拡張では、キャッシュモニタリングが加わった。これは、リソースモニタリングID毎にキャッシュ占有率を動的にモニタする機能だ。それによって、キャッシュを異常に占有しているアプリケーションを検出して、そのタスクをマイグレートすることで、最適化を図る。仮想化環境下では、仮想マシン単位でマイグレートすることで最適化する。

 このほか、リモート管理機能のために、排気口の温度センシングやエアフロー、リソース使用率などのモニタリングが加えられた。排気口については、実測ベースではなく、計算で近似値を出している。

 18 Haswellコアとさまざまな拡張の結果、18コア版のHaswell-Eは、トランジスタ数も56億9,000万で、スタンダードのIA32 CPUとしては過去最高となった。スモールコアサーバーが台頭するサーバー市場だが、シングルスレッド性能が重要な市場部分も多く、Intelはローパワーコアサーバーとハイパフォーマンスコアサーバーの2正面にそれぞれ延ばす。

Intel CPUのトランジスタ数の変遷(PDF版はこちら)

(後藤 弘茂 (Hiroshige Goto) E-mail