仮想化道場

14nmプロセスを採用した「Xeon E5-2600 v4」

 2014年9月に発表されたXeon E5-2600 v3シリーズは、22nmの製造プロセスを採用、アーキテクチャとしては、Haswellアーキテクチャ(Haswell-EP)を採用していた。

 18カ月ぶりのリニューアルとなるXeon E5-2600 v4シリーズは、製造プロセスとして14nmを採用し、アーキテクチャとしてはBroadwellアーキテクチャ(Broadwell-EP)を採用している。

Broadwell世代の2ソケット プロセッサXeon E5-2600 v4シリーズと、同時に発表されたデータセンター向けのSSD
Xeon E5-2600 v4シリーズは、前世代に比べると44%のパフォーマンスアップを果たしている。仮想化関連のIntel Resource Director Technologyで強化。セキュリティ関連も70%の性能アップを果たしている

最大22コア/44スレッドを実現

 BroadwellアーキテクチャのXeonとしては、1ソケットのXeon E3 1200 v4シリーズが2015年6月に発表され、Xeon D 1500シリーズは2015年3月に発表されている。これらのプロセッサは、デスクトップ向けのBroadwellをベースにして、GPUや周辺インターフェイス(Ethernetなど)を1チップ化した製品だった。いわば、デスクトップ向けプロセッサを若干改良した製品といえる。

 それに対して今回発表されたXeon E5-2600 v4シリーズは、本格的なサーバー向けプロセッサだ。

 コア数としては最大22コア/44スレッド、ラストレベルキャッシュは55MBで、それぞれ18コア/36スレッド、45MBだったXeon E5-2600 v3よりも向上している。

 Xeon E5-2600 v4の22コアプロセッサを採用した2ソケットサーバーは、1台のサーバーで44コア/88スレッドと、10年前には考えられなかった大量のコアを採用したサーバーが実現する。

Xeon E5-2600 v4シリーズは、22コア/44スレッドを最大にして、4/6/8/10/12/14/16/18/20コアのバリエーションがある。また、低消費電力、高クロック動作などのバリエーションがある。クラウド事業者などには、カスタム化したプロセッサを納入している

 ハードウェアに関してはXeon E5-2600 v3シリーズから大幅な変更はない。ピン配置も変わらないため、既存のXeon E5-2600 v3サーバーのBIOSを変更すれば、すぐにXeon E5-2600 v4サーバーが実現できるだろう。HP、Dell、Lenovoなどのサーバーベンダーで作業が進められているようで、プロセッサの発表からそれほど時間をおかずに、Xeon E5-2600 v4を搭載したサーバーが発売される予定だ。

Xeon E5-2600 v4シリーズの概要。製造プロセスは14nmに微細化されたが22コアまでしか増えていない。今後、さらにコア数が増えるときは、内部のリングバスの接続も大幅に変わる可能性がある
すでに多くのサーバーベンダーが、Xeon E5-2600 v4シリーズを使って、各種のベンチマークが行われている。ほとんどのベンチマークでワールドレコードを記録している

 若干、機能が拡張されたのはメモリ関係で、メモリチップを複数積み重ねた3DS LRDIMMに対応している。また、メモリRAD機能にDDR4のWrite CRCが追加された。DDR4メモリのスピードもDDR4-2133からDDR4-2400に若干アップしている。

 アーキテクチャ面では、BroadwellアーキテクチャではADC(加算命令)、SBB(減算命令)、PCLMULQDQ(キャリーなし乗算命令)などのパフォーマンスが向上している。また、新たに追加されたRDSEED命令は、高いランダム性を持つ数字を生成できる。このほか、ADCX/ADOX(2オペランドの符号なし加算命令)なども追加されている。

Xeon E5-2600 v4シリーズで追加された命令
Broadwellアーキテクチャでは、AVXの改良、AES-NIのサポート、サーバー向けのTXTのサポートなどが行われている(Xeon Dの発表資料より)
さまざまな命令の動作が改良され、パフォーマンスがアップしている。命令の動作サイクルが1つ減るだけで、ひんぱんに利用している場合は、全体としてみれば大きな性能アップとなる(Xeon Dの発表資料より)
RDSEEDは、ランダム性の高い数字を発生させることができる(Xeon Dの発表資料より)

 Xeon E5-2600 v3シリーズ(Haswell-EP)では、メモリのトランザクションを実現するTSX機能がサポートされていたが、プロセッサのリリース後、TSX機能に問題が発生したため、Haswell世代ではTSXは非サポートになった。

 これに対してBroadwellアーキテクチャでは、トラブルが起こらないように修正された。Xeon E3 1200 v4シリーズやXeon DではTSX機能がサポートされていたが、サーバープロセッサとしてはメインストリームとはいえないため、あまり注目されていなかった。しかし、多くのサーバーで使用されている2ソケットプロセッサのXeon E5-2600 v4シリーズできちんとTSX機能が動作するようになったため、多くのインメモリ型データベースなどで使用されるだろう。すでにSAP HANAなどはTSXをサポートしている。

Xeon E5-2600 v3シリーズでは非サポートになったTSXが、きちんとサポートされた(Xeon Dの発表資料より)

 また、Ivy Bridge世代のプロセッサからサポートされていた、ユーザーモードで動作すべきプログラムがスーパーバイザーモードで動作しないよう、ハードウェアレベルで監視するSupervisor Mode Execution Protection(SMEP)を強化。メモリ保護機能を追加したSupervisor Mode Access Protection(SMAP)に対応している。

Supervisor Mode Access Prevention(SMAP)は、OSカーネルがユーザーのデータページにアクセスすることを制限する。これにより、OSカーネルに侵入した不正なプログラムのアクセスを制限する(Xeon Dの発表資料より)

 仮想化関連では、CPUコアのアプリケーションごとにLLCに対してキャッシュの配置を最適化するIntel Resource Director Technology(以前はCache Allocation Technologyと命名されていた)、各メモリチャネルにかかる負荷をモニタリングすることで、負荷を平均化するMemory Bandwidth Monitoringが利用できるほか、Posted Interruptsにより、以前からサポートされていたAPICvの機能が十分働くようにした。これ以外にも、仮想化のベースとなるVM Enter/Exitのレイテンシ削減などが行われている。

Xeon E5-2600 v4シリーズでは、仮想化機能も強化されている
コアが使用するメモリの動作状態を監視するMemory Bandwidth Monitoring(Xeon Dの発表資料より)

 特に、Intel Resource Director Technologyは、ハイパーバイザーと連携して、ハイパーバイザー上で動作するVMのプライオリティを織り込んで動作する。今までは、各VMは平均して動作するため、あるVMがCPUのキャッシュメモリを占有に近い状態になることがあった。ユーザーとしては、各VMのプライオリティ付けを行い、プライオリティが低いVMがキャッシュメモリを占有しないようにして、プライオリティの高いVMの動作を圧迫しないようにしたい。今回追加されたIntel Resource Director Technologyは、このような管理を可能にした。

 ただし、ハイパーバイザーがIntel Resource Director Technologyに対応する必要がある。現状では、VMwareのvSphere、Xen、KVMがこの機能に対応している。

Intel Resource Director Technologyを使えば、VMをプライオリティで管理できる

プロセッサの世代交代が長期化

 Xeon E5-2600 v4シリーズは、スケジュールとしては2015年の秋ごろのリリースが予定されていたが、14nmプロセスへの移行に手間取った。このため、Broadwellプロセッサとしては、モバイル向けのプロセッサを先行してリリースしている。またBroadwellのプロセッサデザイン自体も、新たなアーキテクチャというよりも、低消費電力化を目指したモノだった。

 実際コンシューマ向けでは、14nmのBroadwellのリリースが遅れたため、次世代のSkylakeが2015年秋にリリースされた。SkylakeはBroadwellと異なり、モバイルだけでなく(一部のデスクトップ向けプロセッサのモデルがリリースされている)、デスクトップを含めた全面的な更新となった。実質的に、Broadwellプロセッサは6カ月ほどでSkylakeに切り替わっているといえる。

 Intelはプロセッサの世代交代をTick/Tock(チック/タック)モデルで進めていた。Tickでプロセスの微細化を行い、Tockでプロセッサのアーキテクチャを変更するというモデルだった。TickとTockを1年ごとに繰り返すことで、プロセッサの世代交代を行っていたが、14nmからプロセスの微細化を2年ごとに行えなくなっている。これはプロセスの微細化が進み、技術的にもコスト的にも難しくなっているためだ。

 Intelでは、10nm以下の製造プロセスを研究部門で開発しているが、量産になるとさまざまな問題が起こって歩留まりが悪くなり、多量のプロセッサを製造したり、複数のバリエーションを用意したりすることが難しくなっている。

 プレスやアナリストに対して明確に説明はしていないが、Intelが2月に公開した有価証券報告書(Form 10-K)の中では、Tick/Tockの2サイクル モデルから、Process/Architecture/Optimizationという3サイクルモデルに変更されている。

 これにより、製造プロセスの更新は3年ごとになるようだ。ただし、本当に3年で製造プロセスの微細化が進むかには疑問符がつく。もしかすると、10nmを超えるとより長期間になる可能もある。

Xeon Dの発表までは、Tick/Tockモデルがそのまま続くのではと思われていた(Xeon Dの資料より)
今後、Intelのプロセッサは3サイクルに移行する。これは、微細化したプロセスの開発・量産に時間がかかるようになっているためだ

サーバーの世代交代も長期化する?

 このような状況を見ると、サーバー向けのXeonの世代交代も長くなるだろう。エンタープライズにおいては、コンシューマのように毎年新プロセッサがリリースされる状況はあまり歓迎されていなかった。こういった意味では、Xeonの世代交代が長期間化することには、メリットがないとはいえない。

 またサーバーベンダーにとっては、3世代で同じソケットが使用できるため、1つの基本設計のサーバーで、3世代のプロセッサに対応することができる。このため、サーバーの世代も長期間化するだろう。このことは、サーバーベンダーにとっては、より時間をかけて設計が行えるようになるため、サーバーの世代交代時には、さまざまな新しいテクノロジーを入れ込むことができる。

 企業では、導入したサーバーのプロセッサ交換により性能向上させる、といったことは、ほとんど行われてこなかった。もしかすると、今後は企業で導入されたサーバーでも、プロセッサ交換が当たり前になるかもしれない。さすがに毎年プロセッサを交換するのは面倒だが、3年後にプロセッサを新しい世代に交換し、6~8年ほど同じサーバーを使用する、といったことが可能になるかもしれない。

 ただ、製造プロセスの進化がスローペースになるため、毎世代コア数が大幅にアップしていくこともなくなるだろう。ある意味、単純にコア数を増やすことでパフォーマンスを向上させていくという戦略も、頭打ちになり始めているのかもしれない。

 Intelでもこのような状況をわかっているため、単純にプロセッサのクロック数をアップしたり、コア数を増やすことでサーバーのパフォーマンスをアップしていくのではなく、サーバー全体として性能を引き上げるような方向に変わってきているようだ。

 今回発表されたXeon E5-2600 v4シリーズと同じタイミングで発表されたのが、SASストレージのパフォーマンスを超えるNVMeを採用したSSD D3700/D3600シリーズなどだ。単にNVMeインターフェイスのSSDということでIOPSがアップしているだけでなく、データセンターでの使用を考えてデュアルポート化されている。デュアルポートによってパスが2重化されることで、信頼性を高めることができる。

同時に発表されたデータセンター向けのSSD DC D3700/D3600。SASドライブを超えるパフォーマンスを実現する
D3700は、SASドライブの6倍のパフォーマンス(IOPSも6倍)を実現している
D3700/D3600シリーズは、NVMeインターフェイスによって高速なSSDとなっている。また、システムとしての信頼性を高めるためにデュアルポート化されている

 今後サーバーは、プロセッサ単体の進化というよりもメモリやストレージ、ネットワークを含めたシステムとしての性能アップを目指すことになるだろう。特に、次世代のフラッシュメモリとしてIntelが開発している3D XPoint、外部の高速なキャッシュメモリとして利用できるHBMなどが出てくれば、プロセッサの進化よりも大きなインパクトがあるだろう。