Bulldozerアーキテクチャを採用した最大16コアのOpteron 6200/4200シリーズ


 11月14日にAMDのサーバー向けのCPU「Opteron 6200シリーズ(開発コード名:Interlagos)」「Opteron 4200シリーズ(開発コード名:Valencia)」を正式に発表した。

 このOpteron 6200/4200シリーズは、デスクトップ向けのAMD FXで採用されているBulldozerアーキテクチャを採用した、全く新しいサーバー向けCPUだ。本連載でも昨年一度紹介しているが、製品が正式にリリースされたことを受け、もう一度解説しよう。

 

Bulldozerアーキテクチャとは?

Bulldozerアーキテクチャでは、演算ユニットが2つあるが、フェッチやデコード、2次キャッシュメモリなどが共有されている。2CPUコアが1Bulldozerモジュールとなっているため、CPUコアの拡張は2コアごとに行われる
Flex FPは、IntelのSandy Bridge世代のCPUと同じAVXなどの機能をサポートしている。また、AMD独自のFMA4、XOPなどの命令もサポートされている

 Bulldozerアーキテクチャは、1つのCPUモジュールが、2つの整数演算コア、2つの128ビット浮動小数点演算コアで構成されている。これにより、1つのBulldozerモジュールでは、2つのスレッドを同時に実行できる。

 IntelのHyper Threading(HT)のような仮想的にCPUコアを2つに見せるアーキテクチャと比べると、実際に整数演算の物理コアが2つあるため、Bulldozerの方がマルチスレッドのパフォーマンスが向上すると、AMDでは考えている。

 浮動小数点演算コアに関しては、128ビットの浮動小数点演算コアが2つ用意されている。128ビットの浮動小数点命令の場合は、2つのコアのリクエストに合わせて同時に処理できる。

 ただし、命令のフェッチ、デコード、2次キャッシュメモリは、各Bulldozerモジュールに1つしか用意されていない。頻繁に使用される整数演算コアには、それぞれの整数演算コアごとに整数演算用のスケジューラが用意されているが、浮動小数点演算コアでは、2つの浮動小数点演算コアが、1つの浮動小数点演算用のスケジューラを共有している。

 整数演算コアの1次キャッシュメモリに関しては、それぞれのコアごとに用意されている。3次キャッシュメモリは、CPU全体(複数のBulldozerモジュール)で共有されることになる。

 2次キャッシュメモリはBulldozerモジュールあたり2MB(2つのCPUコアで共有)、3次キャッシュメモリはCPU全体で共有され、Opteron 6200シリーズが16MB、Opteron 4200シリーズが8MBとなる。

 Bulldozerアーキテクチャの浮動小数点演算コアは、IntelがSandy Bridge世代(第2世代のCore iシリーズ)で新しく追加した256ビットのAVX命令に対応するため、2つある128ビット浮動小数点演算コアを合わせて256ビットのAVX命令を処理している。この機能をAMDでは、Flex FPと呼んでいる。

 さらに、IntelがWestmere世代で追加した、AES暗号のアクセラレーションを行うAES-NI命令(PCLMULQDQ命令を含む)がサポートされる。もちろん、SSE命令もSSE 3、SSE 4.1/4.2もサポートされている。

 このほか、AMD独自の拡張命令としては、「XOP (eXtended Operations)」、「FMA4 (four-operand Fused Multiply/Add)」の命令群が挙げられる。AMDは当初、SSE 5として独自に命令セットを拡張しようとしていた。しかし、IntelがAVX命令を提唱したため、AMDは互換性を考えて、AVXと互換性がないSSE 5を引っ込め、AVX命令に対応した。SSE 5の多くの命令はAVXでもサポートされていたが、一部AVXでサポートされていない命令があるため、その部分をAMD独自拡張としてサポートしたものが、これらの命令群になる。

 

Opteron 6200/4200シリーズを提供

今回発表されたBulldozerアーキテクチャを採用したOpteron 6200シリーズは最大16コア、Opteron 4200シリーズは最大8コアのCPUとなっている

 Bulldozerアーキテクチャを採用した最初のOpteronとして、Opteron 6200シリーズとOpteron 4200シリーズが提供される。

 Opteron 6200シリーズのCPUコア数は、16コア/12コア/8コア/4コアの4バージョンが用意されている。またOpteron 6200シリーズでは、MCM(Multi Chip Module)技術を使い、1つのCPUパッケージに2つのCPUダイを搭載した。MCM技術で2つのCPUをパッケージングするため、CPUパッケージは非常に大きなモノになっている。

 また、メモリインターフェイス、I/OインターフェイスとなるHyper Transportは、それぞれのCPUから出てくるため、Opteron 6200シリーズのパッケージ(G34パッケージ)のピン数は、1944ピンという膨大な数になっている。

 一方のOpteron 4200シリーズのCPUコア数としては、8コア/6コアの2バージョンが用意されており、将来的には、4コア、2コアといったバリエーションも発売される可能性がある。

 Opteron 6200シリーズ/4200シリーズの大きな違いは、サポートされているサーバーのソケット数とメモリチャンネル数だ。

 Opteron 6200シリーズは、最大4ソケットのサーバーまでサポートしている。16CPUコアのOpteron 6200シリーズを4ソケット使用したサーバーは、1台で64CPUコアを搭載する製品となる。ただし、その分、消費電力が高いサーバーとなる。

 また、Opteron 6200シリーズは、メモリチャンネルとして4チャンネルをサポートしている。メモリとしては、高速なDDR3 1600MHzをサポートしている。チャンネルごとに3枚のDIMMがサポートされ、最大12枚のDIMMが使用できるので、32GB DIMMを使用すれば、CPUあたり最大384GBのメモリが搭載できる。もし、4ソケットのサーバーを構成すれば、最大1.5TBものメモリを有したサーバーが構成可能だ。

 一方Opteron 4200シリーズは、最大2ソケットまでのサーバーをサポート。これにより、1台で最大16CPUコアをサポートするサーバーが構成できる。

 サポートされているメモリは、Opteron 6200シリーズと同じくDDR3 1600MHzだが、メモリチャンネルは、Opteron 6200シリーズと異なり2チャンネルとなる。

 なお、11月14日に公表されたプレスリリースでは、新たにOpteron 3000シリーズ(開発コード名:Zurich)を、2012年に提供することも明らかにされた。Opteron 3000シリーズは1ソケット向けのCPUで、CPUコアは8コア/6コア/4コアをサポートするという。このCPUは、低消費電力、低消費熱を実現し、Webサーバーなど分野に向けたMicro Server市場をターゲットにしている。

 ただし、CPUソケットとしては、デスクトップ向けのAM3+が採用されるため、デスクトップ向けの低消費電力版CPUが流用されるモノと考えられる。


Opteron6200/4200シリーズのモデルと価格。IntelのXeonに比べると低コストだ

 

クラウドやHPCに向けた機能を搭載

Opteron 6200/4200シリーズは、マイクロソフトのHyper-V、VMwareのvSphere、Xen、KVMなど主要なハイパーバイザーがサポートされている

 Opteron 6200/4200シリーズの仮想化支援機能AMD-Vは、以前のOpteon 6100/4100シリーズとほとんど変わらない。Opteron 6200/4200シリーズで追加された点としては、Virtual Cache Partitioning機能がある。この機能では、3次キャッシュメモリを仮想的にパーティショニングすることで、できるだけキャッシュメモリを生かした動作を行えるようにするという。

 Opteron 6200シリーズの場合、3次キャッシュメモリを最大8つのCPUコアで共有するため、複数の仮想マシンを動かした場合、それぞれの仮想マシンが使用している3次キャッシュメモリを上書きしてしまう可能性がある。Virtual Cache Partitioningは、仮想的に3次キャッシュメモリをパーティショニングし、このようなキャッシュメモリの上書きを防止する仕組み。仮想マシンが使用できる3次キャッシュメモリの容量は少なくなってしまうが、仮想マシンが切り替わるたびに、メインメモリからデータを3次キャッシュメモリに読み込むペナルティを考えると、容量が少なくなっても高速な3次キャッシュメモリにデータが存在している方が、高速に処理が行える。


AMD Turbo Coreテクノロジーは、規定のTDPを計算してBulldozerモジュールごとにクロックアップを行うことができる。

 またOpteron 6200/4200シリーズでは、AMD FXで採用されているAMD Turbo Coreテクノロジーが採用されている。AMD Turbo Coreテクノロジーは、設定しているTDPにCPUが達していない場合、すべてのCPUコアを300~500MHzクロックアップして動かすことができる。さらに、負荷の低い場合は、いくつかのCPUコアの動作を停止する(Bulldozerでは、モジュール=2CPUコア単位で停止する)。この場合、TDPが低く保たれるため、動作しているCPUコアを1GHzクロックアップして動作させる。このようにCPUコアをクロックアップして動かすことで、特定のTDPの範囲で高速に処理が行えるのだという。

 このほかTDP Power Cap機能では、CPUが設定されたTDP以上で動作しないように設定できる。これは、クラウド事業者など、限られた電力の範囲で多数のマシンを動作させている場合に有効な機能という。例えば、6000Wのラックサーバーで、最大350W使用するサーバーを使おうとすると、17台しか収容できない。しかし、TDP Power Cap機能を使ってCPUの消費電力を低く抑え、サーバー全体での消費電力が300W以下に制限されれば、1ラックに20台まで搭載できるようになる。個々のサーバーの性能は少し抑えられるものの、同じ電力消費で3台多くのサーバーを運用できるわけだ。


Opteron 6200/4200シリーズは、クラウドやHPCに向けた機能がそろっている。IntelのXeon5670に比べると、84%のパフォーマンスアップ、46%の低消費電力が実現している。CPUコア数が増えることで、仮想化の性能もアップするCPUコアごとの消費電力は小さいため、仮想化を前提としたクラウドにとってはメリットがある
HPC分野においてもOpteron 6200/4200シリーズはメリットが大きい。これは、1CPUに搭載されているCPUコア数がIntelに比べて多いためだTDO Power CAPを使えば、サーバーごとにTDPをユーザーが自由に設定することが可能だ

 

Opteron 6200/4200シリーズの性能はどうなのか?

 絶対性能という面では、一足先にリリースされた、Bulldozerアーキテクチャを採用したデスクトップ用のAMD FXシリーズは、ベンチマークではあまり高い性能を示せなかった。それほど高い性能を持っていない割に、消費電力が高いとの評価が定着しつつある。

 こうした結果を踏まえて、Opteron 6200/4200シリーズでもこの傾向は変わらないだろうと、筆者は予測している。基本的には、AMD FXシリーズのCPUダイを使用しているためだ(Hyper Transportは、AMD FXシリーズでは1本のみ利用されていたが、Opteron 6200シリーズでは4本すべてを利用できる、といった違いはある)。

 Opteron 6200シリーズでは、Xeonと比べて物理コア数が多い、という特徴はあるのだが、1つのCPUコアの性能がそれほど高くなければ、コア数が多くとも総合的に高い性能を得ることは難しい。

 一方、AMDのプレゼンテーションによれば、Opteron 6200/4200シリーズはXeonと比べてコストパフォーマンスが優れているとしている。現在のIntelはSandy Bridge世代の2/4ソケットサーバー用のXeonをリリースしていないため、古い世代との比較ではあるが、システムの設置面積を2/3に、コアあたりの消費電力を半分に、プラットフォームの価格を2/3以下にでき、より効率的なクラウド構築を行えるとアピールしている。

 もちろん、本当にそうなるかどうかは、実機で検証してみないと何ともいえないところだ。仮想化道場では、新型Opteron搭載サーバーが発売された後、実際にサーバーを検証し、性能面などのレポートをお届けする予定である。

 なおAMDでは、1年ごとにBulldozerアーキテクチャの改良を行っていく予定にしている。2012年には、個々のCPUコアの性能をアップしたPiledriver、2013年にはSteamroller、2014年にはExcavatorをリリースする。1年ごとに10~15%の性能向上を目指している。さらに、製造プロセスが微細化すれば(Opteron 6200/4200シリーズは32nm)、CPUコア数もより増えていくことになるだろう。


2011年現在のXeon 5600番台に比べると、89%もの性能が向上しつつも、価格は同一だ。Opteron 6200シリーズはコストパフォーマンスに優れている同じコストで、Opteron 6220のサーバーなら、2倍のメモリ、3倍のHDDが搭載できる。さらに、CPU性能も25%アップしているOpteron 6200/4200を採用したサーバーは、HP、Dell、Cray、Acer、IBMなどからリリースされる予定
関連情報