vSphere 4 + Intel Xeon55xx = ?

ESXのVMkernelはついに64bit化、それに伴ってService Consoleも64bit化されます。WindowsもR2については64bitのみの提供となりますし、ついに64bitが標準となる時代が到来しつつあるようです。32bitのみに対応したCPUは新しいシステムを実行できないこととなるため、64bitの標準化は32bit環境を引退に追い込むことになるでしょう。クライアントの完全64bit化はまだ暫く先かもしれませんが、サーバについてはリソースのスケーラビリティやパフォーマンスの観点からも、来年には64bitであることは当たり前の状況となっていそうです。
そしてvSphere 4と相まって提供が始まるのがIntel Xeon 55xxシリーズ。動作クロックとしては頭打ち状態が続いているCPUはマルチコア化とメモリアクセスの最適化、そして仮想化支援機能によって性能を進化させていますが、これまでのCPUが仮想化にも使えるCPUだとしたらIntel Xeon 55xxシリーズはまさに仮想化環境用として使用することをメインテーマとして開発された初のCPUだといってしまえるかもしれません。
Intel Xeon 55xxが仮想化に最適だといえる理由は色々ありますが、中でもメモリアクセス性能が最適化されていることが大きなポイントだと思います。仮想化におけるオーバーヘッドは各デバイス色々とありますが、設計によるチューニングがなかなかできない部分がメモリ性能です。ネットワークやストレージなどのI/Oについてはオーバーヘッドはあるものの、I/Oの分散や適切な構成を設計することによりフォローしていくことができますが、メモリI/Oだけは意外とオーバーヘッドが大きい箇所でありながらもチューニングがなかなか難しい部分でした。ESX3.5でもAMD OpteronのRVI*1に対応していましたが、ESX4でIntel EPT*2およびVPID*3に対応することにより、Intel/AMDのどちらのCPUを選択してもメモリI/Oに関してハードウェアによる支援機能でI/O性能がだいぶ最適化されることになると思われます。また、AMDに続いてIntelもCPUとメモリ間のバスを専用バス*4にするとともにメモリ管理機能ををCPU自身に持たせる構成に変更されました*5。この変更によりIntel CPUもNUMA*6構成となるため配慮は必要*7となりますが、CPU/Memory間のI/O性能が大幅に改善されることになりますし、DDR3メモリを使用できるためFB-DIMMメモリを必要としていたXeon54xx構成のシステムと比較してコストを抑えることができる点などもメリットといえるかと思います*8
それ以外にも多くの機能が追加されたことによるメリット*9がありますが、ハードウェア的な支援機能とそれを活用できるソフトウェアがそろうことにより仮想化に伴うオーバーヘッドが削減され、仮想化による統合率をさらに高めることができるなどのメリットが強化され、より仮想化が受け入れられるようになり…という好循環が生まれることになればいいのですが。

(5/2修正)
QPIに関しての説明を修正、ComputerWorldの記事に対するリンクを追加。

*1:Rapid Virtualization Indexing

*2:Extended Page Tables

*3:Virtual Processor ID

*4:QPI:Quick Path Interconnect/CPUに直接接続されるDDR3メモリとは別に、PCI Express経由で接続されるメモリ構成の場合などに使用されるメモリコントローラとCPU間およびCPU間同士の通信に使用する専用バス

*5:Intel Xeon 54xxまでは汎用FBS(Front-Side Bus)を使用し、メモリコントローラ機能を持ったチップセット経由でCPUとメモリは接続される構成

*6:Non-Uniform Memory Access

*7:他のCPUバスに接続されたメモリにアクセスする場合"Remote Memory Access"となりCPU負荷が発生するとともに遅延が発生することとなるため、メモリサイジングにおいて考慮が必要となる

*8:隠れたメリットとしてはメモリ毎にコントローラを搭載しなくてよくなった分、消費電力も削減できると思います

*9:Intel Xeon 55xxに関してのすぐれた記事としてはこちらなどがとても参考になるかと思います。また、主にメモリ性能に関しての評価については、こちらの記事も参考になります。