AMDの最新CPU「6コアOpteron」の仮想化性能を見る


 AMDは6月1日(米国時間)、サーバー向けの最新CPU「Opteron 2400(2ソケット向け)/8400(4、8ソケット向け)」を発表した。Istanbul(イスタンブール)というコード名で呼ばれていた6コアのCPUだ。今回は、最新の6コアOpteronを紹介する。


4ソケット以上のサーバーで効果的なHT Assist機能を搭載

 今回発表されたIstanbul世代の6コアOpteronでは、Hyper Transport(HT)Assistという機能が追加された。

Istanbulで追加されたHT Assistは、4ソケット以上のOpteronでメリットがある。Istanbul世代の2ソケットのOpteronにもHT Assist機能は入っているが、BIOSで機能をオフにできる

 マルチソケットのサーバーでは、あるCPUが動作中に、別のCPUが持っているローカルキャッシュのデータを必要とする場合がある。クアッドコアOpteron(Shanghai世代)では、各CPUに対してブロードキャストを行い、必要なデータがどのCPUのローカルキャッシュにあるのかを調べていた。

 2ソケットサーバーならトラフィックも1つのCPUだけに限られていたが、4ソケットや8ソケットになると、各CPU間で頻繁にブロードキャストが行われるため、各CPUを接続しているHTのトラフィックが増え、最終的にHTのパフォーマンスが低下していた。

 そこで、CPUの3次キャッシュメモリ(6MB)のうち、1MBを各CPUのデータのディレクトリとして使用することにした。これがHT Assistだ。

 AMDでは、HT Assistを採用することで、4ソケットシステムで、HTのパフォーマンスが41.5GB/秒(HT Assistあり)とアップしている。これは、Shanghai世代に比べると60%もHTの性能がアップしたことになる(HT Assistなしでは25.5GB/秒)。

 HT Assistは、2ソケットのシステムでは、HTのパフォーマンス面でメリットはない。やはり、ソケット数が増えれば増えるほど、HT Assistのメリットが出てくる。この意味では、4ソケット、8ソケットといった大規模なデータセンター向けサーバーの機能といえる。

 Istanbul世代のOpteronでは、6コアとコア数が増えてはいるが、各コア共通の3次キャッシュは、6MBと容量の拡張は行われていない。さらに、HT Assistの機能追加により、さらに1MB 3次キャッシュが減ってしまう。AMDでは、Opteronは、6MBと相当大容量の3次キャッシュを搭載しているため、コア数を増やしたことや、HT Assistに3次キャッシュの1MBを割り当てたことで、パフォーマンスが低下することはないと説明している。


コア数増加は仮想化にとってメリット大

Istanbulは、6コアのCPU。Shanghai世代と同じ消費電力、熱設計のため、CPUを入れ替えるだけで、1.5倍のパフォーマンスが得られる

 2ソケットサーバーを利用している企業にとって、Istanbul世代のOpteronは、大きなメリットがある。新しく追加されたHT Assist機能は、2ソケットサーバーにとっては、パフォーマンス面でメリットはない。しかし、コアが4つから6つに増えたということは、サーバーを仮想化する上では、何よりも大きなメリットになる。

 仮想化においては、CPUコアを超える仮想環境が同時に動作していると、サーバー全体のパフォーマンスが落ちてしまう。仮想環境に最低限1つの物理CPUコアが割り当てられている方が、全体のパフォーマンスとしては、満足のいく性能が出る。

 Istanbul世代では2ソケット×6コアで12コア、Shanghai世代では2ソケット×4コアで8コアと1.5倍ものCPUコア数を持つことになる。大ざっぱにいってしまえば、Istanbul世代のOpteronの方が、1.5倍の仮想環境を動かすことができる。


Istanbul世代とShanghai世代のOpteronの位置づけIstanbulは、Shanghai世代のOpteronとこれだけのパフォーマンス差があるIstanbul世代のOpteronは、2003年のOpteronに比べると、これだけのパフォーマンスがアップし、省電力化が図られている

 さらに、Istanbul世代のOpteronのメリットとしては、Shanghai世代のOpteronとCPUソケットや電気特性も同じことだ。もちろん、TDP(熱設計電力)も同じになっているため、現在のShanghai世代のCPUとIstanbul世代のCPUを取り換えても、まったく問題なく動作する。熱設計も同じになっているため、サーバー自体の冷却やサーバールームの空調を変更する必要がない。

 国内でサーバーを運用しているユーザーにとっては、冷却の変更も必要なく、電力も変わらないというのは、大きなメリットだろう。

 もし、現在Shanghai世代のOpteronサーバーを運用していて、パフォーマンス不足に悩んでいるなら、秋葉原でIstanbul世代のOpteronを買ってきて、入れ替えるだけで、1.5倍パフォーマンスをアップできる。

 AMDでは、2003年にリリースされたシングルコアのOpteronを314個利用したサーバーシステムと同じパフォーマンスが、21個のIstanbul世代のOpteronで構成されたサーバー1台で実現できるとしている。同じパフォーマンスでありながら、2003年当時のサーバーから、95%の電力が削減できると説明している。

 6コアCPUとしては、昨年IntelがDunnington(ダニングトン)というコード名だったXeon 7400番台をリリースしている。このためIstanbulは、世界初の6コアCPUというわけではない。しかし、Xeon 7400番台が4ソケットを対象とした大規模サーバーやHPC向けだったことを考えれば、多くのサーバーが採用している2ソケットシステムで6コアCPUが利用できるのは、パフォーマンス面だけでなく、コスト面でも大きなメリットがある。


2010年には大きく変化するOpteron

2010年のOpteronは、DCA(Direct Connect Architecture)2.0にアップデートされる。仮想化もAMD-V 2.0に、パワーマネジメントもAMD-P 2.0にアップする
DCA 2.0は、CPUコア数だけでなく、メモリスピードやHTのスピードもアップする。さらに、CPUのキャッシュメモリも2.2倍にアップする
AMD-V 2.0では、IOMMUが追加される。AMD-Pでは、APML(Advanced Platform Management Link)が追加されている

 Opteronは、2009年後半には、新しいサーバー向けのチップセットSR5690(ノースブリッジ)、SP5100(サウスブリッジ)がリリースされる。AMDでは、これらのチップセットと現在のOpteronを組み合わせたモノをFiorano(フィオラノ)というプラットフォーム名で呼んでいる。

 SR5690の最大の特徴は、I/Oの仮想化に対応したIOMMUをサポートしていることだ。IOMMU機能により、ネットワーク・ストレージなどのアクセス時にCPUの負荷が軽くなったり、効率の良いアクセスが実現可能だ。また、サウスブリッジのSP5100では、5.2G/秒のHT 3.0をサポートし、PCI-Express 2.0やPCIeのHot-Plug機能などがサポートされる予定だ。

 ただし、Fioranoプラットフォームはそれほど普及しないのでは、とAMD側は考えているようだ。というのも、2010年には新しい世代のOpteronがリリースされるためだ。

 このため、サーバーメーカーなどは、Fioranoをパスして、2010年のMaranello(マラネロ)プラットフォーム、San Marino(サンマリノ)プラットフォームを前倒しでリリースしてほしいとAMDに頼んでいるようだ。

 Maranello/San Marinoプラットフォームでは、CPUのソケット自体も変わってくる。現在は、Socket Fだったが、MaranelloではSocket G34(CPUはMagny-Coursというコード名)、San Marino(CPUはLisbonというコード名)ではSocket C32となる。

 これは、この世代のOpteronからメモリが変わるためだ。現在のOpteronは、2チャンネルでDDR2メモリをサポートしている。Magny-Cours世代は、4チャンネルでDDR3メモリをサポートする。これにより、メモリ帯域が一気に現在のOpteronの2倍以上にアップする。ただし、Lisbonは、2チャンネルのDDR3サポートとなっている。

 Magny-CoursとLisbonの違いは、メモリチャンネルの数以外に、CPUコア数も違っている。Lisbonは、4コア、6コアのCPUがリリースされる。Magny-Coursは、LisbonのCPUダイを2つ組み合わせたマルチチップモジュールにして、8コア、12コアというCPUコア数を実現する。

 AMDでは、2010年以降は、Magny-CoursなどのOpteron 6000系、LisbonなどのOpteron 4000系の2種類のサーバー向けCPUを供給していく予定だ。

 また、Magny-Coursは、最大4ソケットのシステムとなり、Istanbul世代のように8ソケットCPUのサーバーは設計はできない。これは、Magny-Coursでは、内部に2つのCPUダイが入っているため、4ソケットサーバーが実は8ソケットサーバーに当たるためだ。

 AMDでは、2011年には32nmプロセスで作る6コア・8コアのValencia、12コア・16コアのInterlagosなどのOpteron CPUを計画している。2011年以降は、CPUにGPUのベクター演算機能が統合されていくだろう。この時期には、仮想化においても、GPUの演算ユニットをどのように使っていくかが、大きなチャレンジになっていくだろう。


2010年のOpteronは、エントリーサーバー向けのOpteron 4000(Lisbon)とハイエンドのOpteron 6000(Magny-Cours)に分かれる。8ソケット製品は、この時点からなくなる2010年以降のAMD Opteronのロードマップ。Opteron 6000系は、Opteron 4000系のCPUダイを2つ搭載したCPUだ2010年のMagny-Coursは、Shanghai世代のOpteronの3倍のパフォーマンスを持つ。2011年のInterlagosは、Shanghai世代の4倍ほどのパフォーマンスを出す

 仮想化ということを考えれば、現在あるサーバーのCPUを入れ替えるだけで、1.5倍のパフォーマンスになるIstanbul世代のOpteronは、大きなメリットがある。また、2~3年後、サーバーの導入を計画している企業にとっては、Magny-CoursやLisbon世代のOpteronが気になるだろう。ただ、2~3年後を考えれば、クラウドコンピューティングが普及してきている可能性もある。また、グループ企業のコンピューティング環境を一括して管理、運用するプライベートクラウドという方向性もある。

 2010年以降のサーバーは、マルチコアのCPUが当たり前になっているが、ディスクもSSDが一次ディスクとなり、データなどは低コストのSATAディスクなどを使うようになってくるだろう。このようなことを考えれば、2010~2011年がサーバーにとって大きなターニングポイントになってくる。



関連情報
(山本 雅史)
2009/6/8 00:00