MP向けの歴代x86 CPUで最大のパフォーマンスと信頼性を実現したXeon 7500番台
以前、Enterprise Watchの時代にもXeon 7500番台を一度取り上げているが、ここに来て、対応するサーバーも増えてきたし、このコーナーでも、Xeon 7500番台を採用したサーバーを紹介してきた。そこで今回は、Xeon 7500番台自体に関して、再度解説をしていこう。
■Xeon 7500番台の位置付け
Xeon 7500番台 |
Xeon 7500番台は、4CPUを標準に、8CPU、2CPUといったサーバーに利用できる |
Xeon 7500番台は、Xeonシリーズの最上位CPUとして、1CPUあたり最大8コアを持ち、Hyper Threadingにより同時に最大16スレッド処理できるようになっているヘビー級のMP(Multi Processor)向けCPUだ。
Xeon 7500番台は、デスクトップのCore i7シリーズから採用されたNehalemアーキテクチャがベースとなっているため、開発コード名はNehalem-EXと呼ばれていた。
最新のXeonシリーズには、デュアルCPU構成向けの5600番台、シングルCPU構成向けの3600番台がある。これらのCPUも、NehalemアーキテクチャやWestmereアーキテクチャ(45nmプロセスのNehalemを32nmプロセスにシュリンクしたもの)だ。Xeon 7500番台は、CPUコアのベース部分こそNehalemだが、3次キャッシュやメモリインターフェイスなどが、大きく変更されている。ある意味、UNIXサーバーを意識した設計になっている。
Nehalem-EXには、4CPU以上の構成が組めるXeon 7500番台、2CPUまでの構成が組めるXeon 6500番台がある。Xeon 6500番台とXeon 5600番台は、両方ともデュアルCPU構成までをサポートしている。両方ともデュアルCPUまでのサポートだが、Xeon 6500番台は8コア、Xeon 5600番台は6コアまでと、CPUコア数が異なる。
これ以外にも、Xeon 6500番台は、Xeon 7500番台をベースに開発されているため、Xeon 7500番台で特徴的なメモリインターフェイスやRAS機能を持っている。一方、Xeon 5600番台は、新しいメモリインターフェイスやRAS機能はないが、32nmプロセスのWestmere世代CPUとなっている。このため、Xeon 5600番台は、いくつか新しい命令セットが追加されたり、省電力性がアップしていたりする。
■Xeon 7500番台のCPUアーキテクチャは
Xeon 7500番台は、1CPUあたり8コアを持ち、Hyper Threadingにより同時に16スレッド処理できる。つまり、Xeon 7500番台を採用した4CPUサーバーでは、32物理CPUコア、64スレッドをHyper Threadingで処理できる。
さらに、Xeon 7500番台は、4CPUを1ノードとして、ノードを増やしていくことで、8CPUのサーバーも可能だ。サードパーティのノードコントローラを利用すれば、最大256CPUの超大規模サーバーを構築することも可能だ。256CPUとなれば、2048物理コア、4096スレッド処理が可能な超大規模サーバーとなる。ここまでくると、UNIXサーバーやメインフレームを超えたスーパーコンピューターに近い性能を、x86アーキテクチャで構築できるかもしれない。
Xeon 7500番台のCPUコアは、現在リリースされているNehalemに使用されているCPUコアと同じだ。CPUの1次キャッシュとしては64KB(命令キャッシュ32KB+データキャッシュ32KB)、2次キャッシュとして256KBを持っている。
ただし、3次キャッシュメモリに関しては、Xeon 5600番台とは少し異なる。Xeon 5600番台は、4つのCPUコアで8MBの3次キャッシュメモリを共有している。しかし、Xeon 7500番台では、8つのCPUコアが共有する3次キャッシュメモリは24MBにまで拡張している(モデルによって18MB、12MBがある)。
さらに、Xeon 7500番台の3次キャッシュメモリは、メモリの構成がXeon 5600番台と異なっている。Xeon 7500番台は、CPUコアごとの3MBの3次キャッシュメモリを持ち、それぞれの3次キャッシュメモリは、リング状のバスに接続されて、トータル24MBの3次キャッシュメモリを構築している。
このように、Xeon 7500番台の3次キャッシュメモリがリングバスになったことで、24MBと広大なキャッシュメモリ(面積的にも)を、Xeon 5600番台のように単一のキャッシュメモリの構成にすると、キャッシュメモリに必要なスピードでメモリアクセスが行えない(遅延が起こる)。
このため、CPUコアごとに3MBの3次キャッシュをおき、その3次キャッシュをリングバスで接続することで、24MBもの巨大なキャッシュメモリを構成している。もし、CPUコアに直結している3次キャッシュメモリに、データが入っていない場合(ミスした場合)は、ほかのCPUコアの3次キャッシュに探しに行くことになる。
命令セットや仮想化機能などは、Xeon 5600番台とほとんど同じだ。ただし、Xeon 7500番台は、RAS(Reliability、Availability、Serviceability:信頼性、可用性、保守性)機能が追加されている。このため、RAS関連の命令が20個ほど追加されている。
■最大16スロットのDDR3メモリをサポート
Xeon 7500番台は、最大16スロットのDDR3メモリをサポートしている。このため、16GB DIMMを使用した場合は、1CPUあたり最大256GBのメモリがサポートされる。もし、4ソケットのサーバーに最大容量を搭載すれば、1TBメモリが搭載された、非常にスケーラビリティの高いx86サーバーとなる。
これだけのメモリをサポートするために、Xeon 7500番台では、Xeon 5600番台からメモリコントローラ関連が大幅に変更されている。
Xeon 5600番台では、CPUが直接、DDR3メモリを3チャンネルサポートしている。一方、Xeon 7500番台は、メモリ専用のシリアル接続インターフェイス「Scalable Memory Interface(SMI)」をサポートした「Integrated Memory Control(IMC)」ユニットが2つ内蔵されている。1つのIMCあたり、2本のSMIをサポートするので、CPUあたり、4本のSMIがサポートされている、ということだ。
SMIは、シリアルインインターフェイスのため、そのままではDDR3メモリを接続できない。そこで、シリアル/パラレル変換の機能とメモリバッファの機能を持った、Scalable Memory Buffer(SMB)をSMIに接続して、パラレルに変換してから、DDR3メモリを接続する。
SMBは、2つのDDR3メモリチャンネルをサポートしており、1チャンネルあたり2本のDIMMが使用できる。
■RAS機能により、システムを動かし続ける
Xeon 7500番台の最大の特徴といえるのが、RAS機能だ。信頼性、可用性、保守性の向上を図るRAS機能は、さまざまなモジュールにトラブルが起こったとしても、そのモジュールを切り離すことで、システム全体をダウンさせずに動かし続ける機能だ。
Xeon 7500番台は、Corrected Machine Check Interrupts(CMCI)とRecoverable Machine Check Architecture(MCA)という機能を持っている。例えば、Xeon 7500番台のあるCPUコアにトラブルが起こった場合は、OSと協調し、トラブルをチェックして、CPUを再設定(8個あるCPUコアを7個で動かす)して、システムダウンを起こさずにシステムを動かし続ける。もちろん、ハードウェアだけでなく、OSがトラブルをチェックして、OS側でも再設定する必要がある。
このため、Xeon 7500番台のRAS機能は、OS側でサポートされている必要がある。IDFでは、VMwareのESX、マイクロソフトのWindows Server 2008 R2などのOSで、Xeon 7500番台のRAS機能のデモが行われた。このほか、NovellのSUSE Linux、Red HatのRed Hat LinuxなどのOSでも、Xeon 7500番台のRAS機能をサポートする予定だ。
Xeon 7500番台のRAS機能は、CPUコアだけでなく、CPUのアンコア部分(I/Oなど)、QPI、メモリ、I/O HUBなど、多岐にわたる。例えば、QPIにトラブルが起きた場合、QPIに接続されているものがCPUなのかIO HUBなのかをチェックする。その後、トラブルが起きたQPIに接続されているものが、CPUならば自動的に、そのCPUを切り離して、システムを再設定する。
メモリの場合は、Xeon 7500番台のSMI(Scalable Memory Interface)ごとに、切り離しを行うことができる。このため、1枚のDIMMにトラブルが起こっても、SMB(Scalable Memory Buffer)ごと切り離される。
I/O HUBのRAS機能としては、I/O HUB自体のトラブルに対応できる。さらに、I/O HUBのPCI Express 2.0に接続されているインターフェイスカードにトラブルが起きたとしても、カード自体を切り離すことができる。もちろん、PCI Express 2.0では、ホットプラグをサポートしているため、トラブルのあったカードをシステムダウンさせずに、入れ替えることも可能だ。
Xeon 7500番台の最大機能機能がRAS機能だ。RAS機能は、CPUだけでなく、QPI、メモリ、IO HUBにまで及ぶ | CPUのエラーは、CMCIによりOSに伝えられる |
OSは、CMCIからの割り込みにより、トラブルを関知して、リカバリを行う | Xeon 7500番台は、Nehalemの機能を受け継ぎ、負荷が少ないときには、CPUコアごとに停止することで、省電力化している |
RAS機能によりハードウェアのトラブルがチェックできても、上位レイヤのOSやハイパーバイザーがハードウェアのトラブルを知って、再設定できなければ、システム全体として動作し続けることができない。
VMwareのESXなどのハイパーバイザーやWindows Server 2008 R2などのOSがRAS機能をサポートする場合、ハイパーバイザーがどのCPUでどういった動作が行われているかをきちんと把握している必要がある。例えば、あるCPUコアのキャッシュメモリにトラブルが起こった場合、トラブルが起こったときにどのような動作が行われていたのかログが保存されていないと、ほかのCPUコアが動作を肩代わりすることができない。単に、トラブル部分を切り離すだけでは、OSにとってはシステムダウンを起こす原因となる。
もちろん、ログは、CPUコアだけでなく、メモリやQPI、I/O HUBなど、さまざまな部分に関連する。ハイパーバイザーやOSは、このログをチェックして、トラブルのあったブロックをダイナミックにシステムから切り離し、その後、残りのハードウェアでトラブルのあったブロックを肩代わりして、動作するように設定する。これにより、大規模なシステムでもシステムダウンを起こさずに、ITシステムを動かし続けることができる。
■Xeon 7500番台の与えた影響は?
Xeon 7500番台を手に掲げる、インテルの吉田和正社長(3月の発表会より) |
Xeon 7500番台は、前世代の6コアXeon 7400番台よりもメモリバンド幅で9倍、データベースパフォーマンスで3倍ものパフォーマンスを持つ |
では、こうした性能と信頼性を持つXeon 7500番台は、業界にどう受け取られているのだろうか?
まず、提供側のインテルでは、「過去最大の性能向上を達成した。8コアと、24MBの巨大なキャッシュを搭載し、最高の技術の結晶だ」(インテル 代表取締役社長の吉田和正氏)と、Xeon 7500番台の価値を強調している。
実際に、Xeon 7500番台は、Coreマイクロアーキテクチャを採用していた前世代のXeon 7400番台と比べ、メモリバンド幅で9倍、データベースパフォーマンスで3倍ものパフォーマンスを持つ。
また、性能のみならずRAS機能も盛り込まれていることから、「大規模なシステムを構築できるこの製品で、RISCアーキテクチャやさまざまな大型システムから、オープンへの移行をますます進める」(インテル 吉田社長)とも言及。戦略的な製品として位置付けていることを伺わせている。
インテル側の期待通り、サーバーベンダー側でも、多くの製品で採用するようになっており、NECが基幹システムやHPCに適したスケーラブルHAサーバーのラインアップに、Xeon 7500番台搭載モデルを用意したほか、富士通では、基幹システム向け高信頼IAサーバーの最新機種に採用した。
富士通 IAサーバ事業本部長の河部本章氏は、「性能面でアドバンテージがあり、信頼性も高い」と、Xeon 7500番台を評価。ミッションクリティカル市場に対しても、Xeon 7500番台を搭載したこのサーバーを戦略的に推し進めていくことを明らかにしている。
一方、Itaniumを手掛ける日本HPでは、「信頼性ではItaniumが優れているが、コストパフォーマンスなど、全然違った面からは、Xeonが優れている面もある」(日本HP 代表取締役社長の小出伸一氏)と、少し違った見方をしている。
止めてはいけない用途に使うのであれば、明らかにHP-UXとItaniumが優れているが、例えば、技術者はWindowsやLinuxしかわからない、といったケースで、UNIXサーバーが使えないこともある。そうした場合の現実解が、信頼性と性能が向上したXeon 7500番台のサーバーだろう、という立場だ。
その日本HPでは、Xeon 7500番台搭載機種として、4ソケットサーバー「HP ProLiant DL580 G7」、8ソケットサーバー「HP ProLiant DL980 G7」を先ごろ発表した。
Xeon 7500番台を用いた8ソケットサーバーでは、その構造上、4ソケット以下の場合と比べてCPU同士の接続にオーバーヘッドが大きくなってしまうのだが、HP ProLiant DL980 G7では、独自開発のノードコントローラでこの問題を解決し、4ソケットサーバーと比べても、ほぼリニアに性能を伸ばせた。
信頼性についても、独自の機能を盛り込むことでさらなる向上を図っており、仮想化によるシステム統合や、大型データベースでの使用に適したサーバーを作り上げることができたという。
一昔前までは、x86サーバーは企業の基幹というよりも、Webサーバーなどのフロントエンドで多く使われている印象だったが、信頼性、そして性能が大きく向上したことで、Xeonを搭載したサーバーの利用用途が大きく広がった、といえるのかもしれない。
Xeon 7500番台を採用したサーバーは、各ベンチマークで世界最速の性能をたたき出している |
なお性能面では、過去のXeonに対するXeon 7500番台のアドバンテージを示す指標として、数々のベンチマークで最高性能を記録した、ということがある。
整数演算ベンチマークテストの「SPECint*_rate_base2006」で、サードバーティ製のノードコントローラを使った64ソケットサーバーが世界記録を樹立したほか、「SAP SD」(8ソケット)、「TPC-H 3000GB」(8ソケット)「SPECjAppServer2004」(4ソケット)などなど、多くのベンチマークでナンバーワンを記録し、インテルが主張する性能の高さを裏付けた形になっている。
■Xeon 7500番台以降のロードマップ
2010年以降のロードマップ。2011年には、Sandy Bridge世代のMP CPUもリリースされる |
Xeon 7500番台は、2011年には、Xeon 5600番台などと同様のWestmereコアを使用した製品へと移行する。WestmereコアのMPでは、物理コアの数がアップして、10コアになる予定だ。Hyper Threading利用時には、同時に20スレッドが実行できる(CPUの開発コード名はEagleton)。
Westmere世代のEagletonは、Xeon 7500番台とピン互換がある。このため、サーバーの熱や電気設計に問題がなければ、多くのサーバーでは、Xeon 7500番台と入れ替えても動作するだろう。例えば、日本HPのDL980 G7などでは、すでにEagletonのサポートを表明している。
さらに、デスクトップやメインストリームサーバー(デュアルCPU)向けには、Westmereのさらに次のアーキテクチャである「Sandy Bridge」が2011年にリリースされる予定。Sandy Bridge世代のMP CPUは、設計に時間がかかるため、デスクトップやメインストリームサーバーと同じタイミングにリリースとはならないだろう。
Intelでも、MP CPUの設計を加速しており、メインストリームサーバー用のCPU(デュアルCPU)をリリース後、半年ぐらいをめどにMP CPUをリリース考えているようだ。
同社は、今後も、信頼性の強化などを継続して図るとしており、新たなXeonは、さらにエンタープライズシステムでの利用に向いたCPUとなって登場するかもしれない。