米Intelは9日(現地時間)、"Haswell-EP"の開発コード名で知られていたIntel Xeon E5-2600 v3シリーズおよび、Intel Xeon E5-1600 v3シリーズ製品を発表した。これに先駆けて日本国内で製品の詳細が説明されたので、その内容を簡単に紹介したい。

Haswell-EPは3種類シリーズ32製品

今回発表された製品は2P構成のXeon E5-2600 v3シリーズが27製品、Xeon E5-1600 v3シリーズが5製品となっている(Photo01,02)。またダイは後述するが3種類のバリエーションがある。

Photo01:ダイサイズが極端に違うこともあり、パッケージは異なる2種類が用意される

Photo02:裏面。これも後述するが電圧レギュレータはパッケージ側に搭載される模様

現時点でダイサイズなどは公表されていないが、最大18コアを搭載するだけにかなり大きい。Photo03は14~18コアのものと思われるウェハの写真だが、300mmウェハから85チップしか取れないことからもダイサイズの大きさがうかがえる。

Photo03:この写真からの推定だとダイサイズは20.8mm×32.9mmで684平方mmに達するが、なにしろ写真からの推定なので誤差が±2mm程度あると考えていただきたい

製品一覧はPhoto04の通り。同社はこれを5つにカテゴライズしている。

Photo04:E5-2603 v3/E5-2608L v3/E5-2609 v3の3製品のみTurbo動作が無しとなっている

Haswellコアの周囲に多くの拡張機能を搭載

Photo05が主要な特徴である。従来(IvyBridge-EP)製品との大きな違いは、アーキテクチャがHaswllベースとなり、またDDR4メモリーをサポートしたことだが、ほかにも細かな機能追加がなされている(Photo06)。

Photo05:セグメントごとに最適化とあるが、随分いろいろなラインナップがあって面白い

Photo06:従来よりも一段、仮想化/クラウド環境に踏み出した感が強い拡張が施された

コアそのものは従来のHaswellと同じであり、コア数のほかにIVRやこれに基づく電力管理などはHaswellベースのCore iプロセッサを基にしたものだ(Photo07)。

Photo07:その一方DDR4とか後で出てくる仮想化周りは独自拡張である

Photo08が従来製品との差をまとめたものである。TDPはやや増えているが、全体としては性能を大きく引き上げる方向になっている。その一方で、DDR4の採用により性能を引き上げながら消費電力を下げたり(Photo09)、コアごとに異なるP-State、動作周波数、動作電圧を供給することで、平均36%の効率改善が図られているとする。

Photo08:消費電力については、IVRを実装したことでその分の消費電力がプロセッサ側に移った形で、なのでシステム全体としてはむしろ省電力になっていると説明された

Photo09:省電力はもっぱら電圧の低下による部分が大きい。もっともDDR3(1.5V)と比較するからであって、DDR3L(1.35V)とかDDR3U(1.25V)と比較するとここまでの差は無いが

Photo10:IVRは先にも書いたとおり、まだオンパッケージであってオンダイでは無いと思われる。これはPhoto02で信号ピンの無い空白部に、明らかにインダクタンス(コイル)と思しき部分が見られることから明らかである

Core iプロセッサとは異なるのは管理機能(Photo11,12)や仮想化機能(Photo13)である。CPUとは別にIntel Node Managerを使って動作状態を常時監視したり、(これは後で出てくるが)キャッシュの利用状態をタスク単位で監視して、キャッシュの割り当て方を調節するといった事が可能となっている。またHaswell-EPでは、仮想環境を2段にネストすることが可能であり、運用の柔軟性が図れるとしている。

Photo11:温度やエアフローをセンサーなしでどうやって検出するかと思ったら、これはプロセッサ温度などを元にモデルから推定するそうである

Photo12:ここではVM単位での説明となっているが、実際にはTask単位でLLCの利用率を監視できる。ただそのTaskを最終的にVMに紐付けることで、VM単位でのチューニングが出来るという話である

Photo13:レガシーVMM/ゲストVMMがこれまで利用してきたVM Managerであり、この下に新たにルートVMMと呼ばれるものを置くことができるという話。ただこれは新しいNested VMMに対応する必要があるので、既存のレガシーVMM/ゲストVMMがそのままルートVMMになれるわけではない

内部構造

ではもう少し内部の詳細を。まずCPUコアそのものはHaswellそのもので、ここでは特に違いは無い(Photo14)。暗号化処理もAVXやAES-NIなどにより大幅に改善されている(Photo15)が、これもHaswellの特徴そのままである。

Photo14:ちなみにTransaction Memory(TSX)に関しては問題が見つかったことで、このHaswell-EPでは「実装はしているが無効化している」との事で、これが修正されるのは続く"Haswwll-EX"になる予定

Photo15:名称はWSM:Westmere、SNB:SandyBridge、IVB:IvyBridge、HSX:Haswell-EPで、これは純粋にコアそのものの性能差ということになる

ではその外側は? というと、いろいろと細かな違いがある(Photo16)。まずRing Busであるが、IvyBridge-EPでは3つのリングバスが多重構造になってプロセッサあたり2つずつのRingにアクセスできる構成になっていた。これに対し、Haswell-EPでは完全にRing Busが2つに分離され、間にBuffer Switchが入る構造になっている(Photo17)。

Photo16:これはこの後紹介する主要な特徴の一覧。いろいろと面白い技術が搭載されている

Photo17:普通に考えるとBuffer SwitchはLatencyが増える形になるが、後で出てくるCODモードではこれがSnoop Filterとして動くことで効率を改善する仕組みになっており、案外悪くない選択なのかもしれない

一方のダイであるが、8コア/10コア/18コアの3種類のダイが用意される。このうちローエンドにあたる8コアのみRing Busが一組で、あとはRing Busが2組となる構成だ(Photo18)。

Photo18:10~12コアの場合、片方はHalf Ring構成になっているのが独特である

IVRに関してはこれはほぼHaswellと同じ仕組みで、コアやSystem Agent、I/Oなどにそれぞれ個別にIVRが搭載されている。そのため、外部からはメモリ用と統合入力の2種類の電源を供給すれば良い仕組みとなっている(Photo19)。

Photo19:部品点数削減とかは、実はサーバーではそれほど大問題ではなく、むしろレスポンス向上が主要な特徴としてよい

システムとしてみた場合、煩雑に動作周波数やP-Stateを変更しても、CPUの外部に電圧レギュレータが搭載されていると、これが追従するまで時間が掛かる。なので、省電力モードに入るまでに時間が掛かり(=余分に消費電力が増える)、さらにそこから抜けるにも時間が掛かる(レスポンスタイムが増える)ことになる。

IVRの場合、反応時間を1桁以上削減できるとしており、これはよりすばやく省電力モードに入ったり、そこから迅速に復帰できるわけで、性能改善と省電力性の両方に貢献することになる。

また電源周りでは新たにAVXモードが実装された(Photo20)。これはAVX命令を実施する場合の電圧を引き上げる仕組みである。ちなみに動作の詳細は不明だが、恐らくある程度ヒステリシス(連続してAVX命令が実行される、など)を見てこのモードに入るといった仕組みを用意していると思われるとのことだった。

Photo20:復帰は1msと結構長い

次がLLCに絡む話である。従来のXeonの場合、10コアなら10コアがまとめて一つのメモリアドレスを共有するUMA(Unified Memory Address)方式で実装されている。ところがHaswell-EPからは新たにCOD(Cluster On Die)モードが搭載された(Photo21)。

Photo21:CODモードの場合、1つのダイの中に2つの独立したプロセッサが入っているイメージとなる

これを利用した場合、システム内部に2つのProcessor Clusterが生成され、それぞれが別々のメモリコントローラを占有する形になる。従って、この場合Cluster 0とCluster 1はNUMA(Non-Unified Memory Address)アーキテクチャとして動作することになる。

この方式のメリットは、LLCのヒット率の改善である。特に2つのVMが動いており、それぞれが全く異なる作業を行っているようなケースでは、UMA方式はむしろSnoopingのトラフィックが無駄に増える事になるので、むしろ細かくClusterに分け、もう片方のClusterにSnoopingが行かないようにする方が性能が改善する。この際に、先ほどPhoto17で出てきたBuffer Switchが、Snoop Filterとして働くことになる訳だ。

別にHaswell-EPでは無条件でCODが使われるわけではなく、Early Snoop/Home Snoop/CODの3種類が利用できるので、利用する用途に合わせて構成を変更できるとしている(Photo22)。

Photo22:低コストのサーバをスケールアウト的に並べる、いわゆるクラウド的な構成は基本的にNUMAであり、そうなると例えば18コアのCPU×1よりも9コアのCPU×2の方が使いやすい、ということは十分考えられる

またメモリコントローラがぶら下がるHome AgentはHome Snoopの場合、Snoopの発行元となるが、この場合に備えて内部にDirectory Cacheを搭載することも明らかにされている(Photo23)。これによる性能改善の度合いを示したのがこちら(Photo24)である。

Photo23:CODの場合もこのDirectory Cacheが利用される

Photo24:Latencyの絶対値で言えばコア数が少なく、Bufferも入っていないIvyBridge-EPの方がオンキャッシュの領域ではレイテンシが低いが、DDR3の帯域がネックとなることが判る

グラフでは9コア×2構成の分、Snoopingの頻度が減ることで、CODが一番低レイテンシとなっているが、Buffer Switchをはさんでいるにも関わらずEarly Snoop/Home Snoopの場合でも驚くほどHaswell-EPのLatencyが低いことが分かる。またDDR4の効用で最大帯域が14%ほど向上している。

次が仮想化である。今回新たに搭載されたのがVMCSとEPTであり、これによりさらに仮想化環境の高速化が可能になったとしている(Photo25)。

Photo25:ちなみにVMM周りそのものが高速になった(例えばVM Exitの所要時間が半分になった)とかいう訳ではないそうで、なので従来のVMMを使っている限りは、特に高速化にはならないらしい

まず大きいのがVMCS Shadowingである。これはゲストVMMが煩雑にVM Exit/VM Entryを行うようなケースで、実際のVMCSにアクセスするのではなく、ルートVMMの上に構築されたVMCS Shadowをアクセスするようにすることでアクセスの効率化を図るものである(Photo26)。

Photo26:従来はI/Oを行うのにいちいちVM Exit/VM Entryを発行していたが、Shadowingによりこれらの命令を実際に実行しなくても同じことが出来るようになった、という話である

もう一つがEPT(Extended Page Table)のA/D bitへのサクセスの高速化である(Photo27)。どちらも要するにVM Exit/VM Entryを実行する頻度を減らすことで高速化しよう、というものだ。

Photo27:A/Dというのは"Accessed/Dirty"の意味で、そのページの状態を示すもの。従来はこれにアクセスするためにはいちいちVMを抜ける必要があったが、Haswell-EPではこのA/D bitの状態をVMMで保持するように出来る

最後が先ほども出たキャッシュモニタリングである(Photo28)。これはそれぞれのTaskがLLCをどう利用しているか、というデータをモニタリングする機能で、これを利用して性能を改善できるという話である。

Photo28:性能改善は、具体的には各VM毎にどの程度LLCを使うかを設定する形になるが、まずはそのために性能の統計データを取る必要があり、それがこのキャッシュ・モニタリングで可能になるという話

なお、このHaswell-EPことXeon E5-2600 v3シリーズ/E5-1600 v3シリーズの正式発表は、間もなくサンフランシスコで開催されるIDFとなると思われる。