仮想化道場

Broadwellコアベースの省電力プロセッサ「Xeon D」

Broadwellコアの機能

 Xeon DのCPUコアは、Core Mや第5世代のモバイル用Core iプロセッサで使用されているBroadwellコアからは、機能が拡張されている(今までは切ってあった機能がオンになっているのだろう)。Broadwellコアは、前世代のHaswellコアからアーキテクチャはそれほど変わっていないが、内部の設計をチューニングすることで、5.5%ほどのIPC性能のアップを果たしている。

 命令セットとしては、AVX 2.0のサポート、AES-NI命令を暗号化に利用できるようになっている。さらに、Haswellコアでトラブルが起こり、非サポートになったTSX(Transactional Synchronized Extensions)が、マルチスレッド環境でキチンと動作するようになった。TSXは、マルチスレッド/マルチソケット環境において、ほかのプロセスが同じメモリを書き換えてしまい、データの整合性を壊してしまわないように、メモリを保護する機能だ。通常ソフトウェアで実現されるが、TSXではプロセッサでサポートするため、パフォーマンスがアップする。

Xeon Dは、Haswellアーキテクチャを改良したBroadwellアーキテクチャ コアを使用している。AVX 2.0、AES-NIの改良、TSXのサポートなどが行われている。
Xeon Dでは、マイクロアーキテクチャなどのチューンナップにより、Haswell世代から5.5%の性能アップを示している
Haswellで非サポートにされたTSXがキチンとサポートされた

 さらに、OSの動作をプロテクションするために、Ivy Bridge世代のプロセッサからサポートされていたSupervisor Mode Execution Protection(SMEP)に、メモリ保護機能を追加したSupervisor Mode Access Protection(SMAP)を追加して、システムのプロテクションを高めている。

 また、暗号化のキーとしてランダムな数字を発生するRDRANは、1つのSEEDを使って、ランダムな数字を発生させるため、SEEDの初期化が行われるまで、よく似た数字が発生することがある。そこでXeon Dでは、RDSEEDという命令を追加して、別のSEEDを設定して暗号化キーを発生できるようにした。

 このほか、RSA公開鍵を発生させるスピードをアップしている。

 このあたりの暗号化や乱数に関する機能は、サーバーにとっては大きなメリットがある。プロセッサの命令としてインプリされていれば、ソフトウェアよりも高い性能を出すことが可能になるからだ。

Supervisor Mode Access Prevention(SMAP)は、OSカーネルがユーザーのデータページにアクセスすることを制限する。これにより、OSカーネルに侵入した不正なプログラムのアクセスを制限する
RDSEED命令は、ランダムのSEEDを再設定することで、ランダム性の高い数字を暗号化キーにすることができる

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

Xeon Dの仮想化機能。大幅な機能アップはされていないが、細かな改良によりパフォーマンスがアップ
Cache Allocation Technologyでは、アプリケーションによって使用するLLCの容量を動的に変更することで、負荷の高いアプリケーションをスムーズに動かせる
メモリチャネルの負荷をモニタリングすることで、アンバランスになったメモリチャネルの負荷を平均化することができる

 RAS機能としては、Xeon E5/E7のように多くの機能は持っていないが、MCA and Corrected Machine Check Interrupt(CMCI)、PCI Express End to End CRC(PCIe ECRC)など、多くの機能がサポートされている。ただし、メモリミラーリング機能、メモリチャネルのLockstepなどの機能はサポートされていない。

Xeon Dでは、Xeon E5 v3シリーズが持つRAS機能をほとんどサポートしている。Atom C2000シリーズに比べるとサポートされている機能が多い
Xeon Dでは、暗号化、Supervisorモード、ランダム機能の改良、IOダイレクトキャッシュ機能の追加などが行われている

(山本 雅史)