新世代プライベートクラウドシステムの基盤となるDell PowerEdge R810


 デルが発売した「Dell PowerEdge R810」(以下、R810)は、新世代のサーバーというべき製品だ。パワフルなCPU、大量に搭載できるメモリなどにより、仮想化、クラウド、HPCなど、さまざまな用途にマッチする2Uサイズのサーバーだ。

 今回は、大容量メモリ搭載を可能にする「FlexMem Bridge」など、ユニークな特徴を持つこのサーバーをお借りすることができたので、製品を詳しく紹介する。

Dell PowerEdge R810とその内部

パワフルなインテル製CPUのXeon 7500/6500番台を採用

Xeon 7500/6500番台は、ミッションクリティカルを意識したCPUだ

 R810は、インテルが2010年の3月に発表した「インテル Xeon プロセッサー 7500番台」「インテル Xeon プロセッサー 6500番台」(以下、Xeon 7500/6500番台)が採用されている。Xeon 7500/6500番台は、Nehalem-EXというコード名で開発されていたプロセッサだ。Nehalem-EXという開発コード名から分かるように、CPUのコアアーキテクチャとしては、「インテル Xeon プロセッサー 5500番台(Nehalem-EP)」(以下、Xeon 5500番台)と同じモノが使用されている。ただし、CPUのデザインとしては、大幅に進化している。例えるなら、Xeon 5500番台は普及価格帯のサーバーCPUだが、Xeon 7500/6500番台はメインフレームにも匹敵する高い性能、高い信頼性をサポートしたCPUだ。

 Xeon 7500/6500番台は、最大8コアを実現したCPUだ(モデル別に8/6/4コアがある)。もちろん、Hyper Threading(HT)がサポートされているため、仮想的に最大16スレッドが同時に実行できる。Xeon 7500番台とXeon 6500番台の違いは、サポートされているプロセッサ数だ。Xeon 7500番台は最大4プロセッサまで、Xeon 6500番台は最大2プロセッサまでだ。ただし、CPUソケットは同じモノが使われている。このため、R810ではどちらかのCPUを選択する事が可能で、Xeon 7500番台を使用すれば、最大32物理コア(8コア×4プロセッサ、HTで64スレッドの同時実行)をサポートするサーバーが構築できる。

 Xeon 7500/6500番台は、CPUの1次キャッシュとしては64KB(命令キャッシュ32KB+データキャッシュ32KB)、2次キャッシュとして256KBを持っている。このあたりは、Xeon 5500番台とかわらない。ただし、3次キャッシュメモリの構造が、Xeon 5500番台とは異なる。Xeon 7500/6500番台は、8つのコアを持っているため、3次キャッシュメモリを最大24MBに拡張している。

 Xeon 7500/6500番台の3次キャッシュメモリは、CPUコアごとの3MBの3次キャッシュメモリを持ち、各CPUコアの3次キャッシュメモリをリング状のバスで接続している。これにより、トータル24MBの3次キャッシュメモリを構築している。

Xeon 7500番台は、1996年にリリースされたXeonと比べて20倍のパフォーマンスを示しているXeon 7500番台のブロック図(IDF 2009より)

大容量のメモリ搭載を可能にした、デルだけのFlexMem Bridge

Xeon 7500/6500番台では、メモリのインターフェイスはシリアル(SMI)になっている。SMIにSMBチップを接続して、シリアル/パラレル変換をして、DDR3メモリを接続している(IDF2009より)

 メモリインターフェイスについても、Xeon 7500/6500番台では、今までのXeonシリーズのCPUから一新されている。使用できるメモリはDDR3 Registeredだが、CPUからはシリアルインターフェイス(SMI:Scalable Memory Interface)が出力されている。そのSMIにSMB(Scalable Memory Buffer)というチップを経由して、パラレルインターフェイスのDDR3メモリを接続する。SMIのメモリインターフェイスに特化したQPIといえる。

 Xeon 7500/6500番台では、4チャンネルのSMIが出力されいる。1チャンネルのSMIは、SMBを経由して2本のパラレルメモリチャンネルが構成されている(1本のパラレルメモリチャンネルに2本のDIMMを挿せる)。これで、合計16本のメモリが挿せる。16GB DIMMを挿せば、1CPU当たり256GBのメモリが搭載できる。4ソケットのサーバーなら、1台で32物理コア(HTで仮想64コア)、メモリは1TBとメインフレームに匹敵するサーバーが実現する。

 ただ、R810は、2Uというスペースなどの関係から1つのCPUあたり、2本のSMIをサポートしている。このため、通常であれば1CPUあたり8枚のDIMMしかサポートできない。これでは、16GB DIMMを使用しても、1CPUあたり128GBのメモリしかサポートできない。R810全体では、512GBメモリが最大容量となる。

FlexMem Bridgeにより余っているメモリソケットが活用できる

 しかし、R810ではFlexMem Bridgeというデルだけのブリッジチップを使うことで、2CPUまでの場合、CPUあたりのメモリ容量を倍にできる。これが、R810の最大の特長なのだ。

 R810は、4ソケットCPUのボードが採用されているが、2ソケットしか使用できないXeon 6500番台が搭載されていても、余ったCPUソケットにFlexMem Bridgeチップを差すことで、4ソケット分のメモリ容量を使えるのだ。

 また、Xeon 7500番台を採用したR810でも、2ソケット仕様ではFlexMem Bridgeのメリットを生かすことが可能だ(もちろん、Xeon 7500番台を4プロセッサ使用したR810は、FlexMem Bridgeを取り外してCPUを入れることになる)。

 Xeon 7500/6500番台が持っているSMIを、FlexMem Bridge経由で、第3CPU、第4CPUが使用するメモリソケットに接続する。つまり、FlexMem Bridgeを利用すれば、Xeon 7500/6500番台が持っている4本のSMIをすべて使うことができるため、1CPUあたり16枚のメモリソケットを使うことができる。

FlexMem Bridgeは、R810の余っているCPUソケットに挿して利用する

 何よりもユーザーにとってうれしいのは、R810を購入したときに、余っているCPUソケットにFlex Mem Bridgeが標準装備されていること。オプションとして購入しなくてもいいのは、コスト面からもうれしい。

 また、R810でXeon 7500番台を使用した2ソケットCPUサーバーの場合、残りのCPUソケットに挿しているFlexMem Bridgeを外して、Xeon 7500番台に後で入れ替えても、もちろん問題なく動作する。この場合、1CPUあたりのメモリソケット数が16枚となる。

 ユーザーにしてみれば、FlexMem Bridgeはなんだか不思議なチップに見えるかもしれない。しかし、前述したようなXeon 7500/6500番台のアーキテクチャを知れば、FlexMem Bridgeの特徴を理解してもらえるのではないか。

 中には、こういったブリッジチップを使うことで、拡張したメモリのアクセスが遅くなるのでは、と考えるユーザーも多いだろう。デルでもこのような疑問に答えるために、ベンチマークを行っているが、全くといってメモリアクセスに遅延が起こることはない、という結果が出た。

 これは、SMIというシリアルメモリバスをブリッジチップが、メモリアクセスを中継するアーキテクチャになっているからだ。

RAS機能としてメモリのスペアリングとミラーリング機能をサポート

 加えてメモリ関連では、RAS機能としてスペアリングとミラーリング機能がサポートされている。使用できるメモリ量は半分になるが、UNIXサーバー並みの信頼性を実現するため、企業における基幹システムにR810を利用することもできるだろう。

 スペアリングは、システム上でスペアとしてメモリDIMMを余らせておき、ECCなどでエラーが修正可能な値を超えると、自動的にスペアのメモリにデータを修正してコピーし、システムとしてエラーを起こさず動作する仕組みだ。

 一方のメモリミラーリング機能は、メモリを2対の組み合わせにして、常に同じデータを書き込んでおく。もし、メインで使用しているメモリにエラーが起これば、瞬時にバックアップのメモリに切り替えて動作を続ける。スペアリングでは、切り替え時のメモリコピーの時間がかかるが、ミラーリングは瞬時に切り替わる。

 これらの機能は、標準でサポートされているため、BIOS画面で設定をONにするだけで利用できる。オプションとしてコストが発生したり、特殊なハードウェアが必要になったりする訳ではない。標準で、信頼性を向上することができるのも、うれしい特徴といえるだろう。

デュアルランクDIMMとクアッドランクDIMMのスペアリング例(デルのテクニカルドキュメントより)FlexMem Bridgeを利用していても、メモリのミラーリング機能は利用可能

高い信頼性を実現するCPUのRAS機能

 CPUに話を戻すと、Xeon 7500/6500番台の大きな特徴の1つに、RAS(Reliability=信頼性、Availability=可用性、Serviceability=保守性)機能がある。ItaniumなどミッションクリティカルサーバークラスのRAS機能を実現するために、RAS関連の命令が20個ほど追加されている。

 Xeon 7500/6500番台には、Corrected Machine Check Interrupts(CMCI)とRecoverable Machine Check Architecture(MCA)という機能がある。この機能を使えば、CPUコアにトラブルが起こった場合でも、トラブルを検知して、CPUを再設定(8個あるCPUコアを7個で動かす)して、システムダウンを起こさずにシステムを動かし続ける。

 メモリの場合は、Xeon 7500/6500番台のSMI(Scalable Memory Interface)ごとに、切り離しを行うことができる。このため、1枚のDIMMにトラブルが起こっても、SMB(Scalable Memory Buffer)ごと切り離される。

 故障が起こったモジュールは、システムから切り離され、正常に動作するモジュールに交換されれば、再度動作するようにできる。RAS機能により、CPUやメモリ、I/Oなどの各モジュールにトラブルが起こったとしても、システム全体をダウンさせずに動かし続けることが可能になる。これにより、24時間365日動かし続けなければならないサーバーに、トラブルが起こったとしても、パフォーマンスは落ちるが、サーバーは動かし続けることができるのだ。

 こういった機能は、OSやサーバー自体の設計も関連するため、Xeon 7500/6500番台を使ったサーバーなら必ずできるとは限らないが、もちろん、R810は、RAS機能を生かした設計が行われている。このため、UNIXサーバーなどにも匹敵するほどの、高い信頼性を実現している。

 また、VMwareのESX、マイクロソフトのWindows Server 2008 R2、NovellのSUSE Linux、Red HatのRed Hat Enterprise LinuxなどのOS側で、きちんとRAS機能がサポートされる。このため、システムとしてRAS機能のメリットをユーザーは享受することが可能になる。

Xeon 7500番台で採用されたRAS機能は、QPI、I/O、メモリ、CPUなどが対象になっているXeon 7500/6500番台では、20種類超えるRAS機能に対応している
今までのXeonでは、1ビットのメモリエラーが起こった場合、ECCなどでエラーを修正した。しかし、これ以上のエラーが起こった場合は、システムダウンするしかなかったx86で初めて採用されたマシン・チェック・アーキテクチャ・リカバリーを使えば、エラーを検出して、エラーが起こったハードウェアを切り離して、リカバリーを図る。これによりエラーが起こってもシステムダウンは起こらない
Windows Server 2008 R2では、Windows Hardware Error Architectureにより、Xeon 7500番台のRAS機能をサポートしているXeon 7500番台では、メモリ、CPU、QPI、I/Oなど4つのRAS機能が用意されている。RAS機能を実現するために、Xeon 7500番台では命令セットが拡張されている

 Xeon 7500/6500番台では、Xeon 5500番台で採用されたTurbo Boostテクノロジーも採用されている。このため、CPUが消費している電力に余裕がある場合は、CPUの負荷に応じて、CPUコアをクロックアップして高速に動かすことができる。すべてのCPUコアをフルパワーで動かしている状況はほとんどないため、Turbo Boostを使えばCPUコアの性能をアップさせて短時間で処理を終えることが可能だ。

 このように、強力なCPUを最大4基、2Uのフォームファクタに搭載したR810は、非常にパワフルなサーバーといえるだろう。

省電力性にも優れるR810

 さらにXeon 7500/6500番台では、CPUの省電力性も考えられている。使用されていないCPUコアがあれば、自動的にCPUコアを電気的に停止させるIntegrated Power Gateと、CPUコアの動作を監視する電源管理ユニットが用意されている。これを使えば、CPUコアをシステム負荷に応じて、電気的にON/OFFさせることができる。便利なのは、CPU側ですべてのコントロールを行ってくれるため、運用側では全く気にする事はない。

 今までのCPUは、システム負荷が低くても、CPUコアに電流が流れていたため、余分な電力を消費していた。これがカットできることは、膨大な数のサーバーを運用するデータセンターなどにとっては、センター全体の電力使用量に跳ね返る。CPUが消費する電力がアップすれば、その分発熱もアップし、冷却にかかるコストがかかる。

高効率なモジュラー型のファンと、適切な容量の高効率電源を搭載するなど、省電力にも気を配っている

 サーバー側でも、高効率なモジュラー型のファンと、適切な容量の高効率電源(1100W×2)を搭載するなど、電力消費については考えられている。一般的な4ソケットサーバーはおおむね4Uサイズであることが多く、そうした場合はたいてい、電源も4基搭載されている。しかし、R810は電源2基のみであり、それでいて4つのプロセッサを搭載できる(低電圧版のE75xxの場合)のだ。

 なおデルでは、Energy Starなど外部の認証取得にも積極的であり、ほかのサーバー製品では、現実的な構成であっても、Energy Star認証取得済みのモデルが用意できるものもあるという。こうした活動の成果が、R810の省電力設計にも生かされているのだろう。

 いずれにしても、R810は、高いパフォーマンスを持つだけでなく、高い省電力性を持っている。このことだけでも、電力不足に陥っているデータセンターにとっては、福音となるサーバーなのではないか。

R810の内部写真。拡張ソケット部分とCPU/メモリソケット部分がファンを隔てて分かれている。メモリソケットは、整然とレイアウトされているR810のCPU/メモリ部のレイアウト図。メモリとCPUがきれいにレイアウトされている

 デルでは、オープン性、高いパフォーマンス、購入しやすいコストなどを目指して、サーバー製品を提供している。特に、独自仕様でチップセットを拡張するなどの開発はされていない。しかし、だからこそ、Xeon 7500/6500番台の持つ特長を生かし、高機能・高信頼なサーバーを開発できたともいえる。加えて、メモリの拡張を可能にしたFlexMem Bridgeによって、より活用の幅が広がっている。

 次回は、こうした特徴を持つR810が、どのような用途にマッチするのかを、インタビューを交えて紹介していく。

関連情報