IBMは本日、Power7ベースのシステムの最初のバージョンをリリースします。同社は、Power7プロセッサーに搭載されたイノベーションが、容量、スループット、そしてエネルギー効率の面で競合他社に優位性をもたらすと考えています。しかし、これらのPower7プロセッサーは、Power Systemsラインナップで使用されている既存のPower6およびPower6+プロセッサーと比べてどうなのでしょうか?
IBM によれば、Power7 の設計では、コア、スレッド、クロック速度、およびそれらの相互作用のバランスが適切に取られており、マルチスレッドを必要とするワークロード (Java アプリケーションやミドルウェアなど) と、クロック速度とキャッシュ メモリを必要とし、システム内でデータを素早く移動させる必要があるワークロード (トランザクション処理や分析など) に対応できるという。
ある意味で、Power7の設計は、それ以前のPower6およびPower6+チップから後退したと言えるでしょう。IBMは、2001年10月のPower4発売以来、デュアルコア64ビットPowerプロセッサーを出荷しており、Power4チップで使用されていた180ナノメートルプロセスから、2002年11月のPower4+(銅とシリコン・オン・インシュレーター技術を追加)および2004年5月のPower5向けの130ナノメートル・ウェーハ・ベーキング、そしてPower5+で使用されていた90ナノメートル技術、そして2007年7月のPower6チップ向けの65ナノメートルプロセスへと移行する間も、デュアルコア・チップにこだわり続けました。
同じ 65 ナノメートル プロセスは、2008 年 10 月にミッドレンジの Power Systems マシンに、2009 年 4 月にエントリー ボックスおよびブレード サーバーに搭載された Power6+ チップの製造にも使用されました。IBM は、何らかの理由で Power6+ チップのプロセスを縮小せず、チップにいくつかの命令を追加して、Power7 チップとその根本的に異なる 8 コア設計が市場に登場するのを待って、2009 年を乗り切ることにしました。
Intel の 4 コア「Tukwila」Itanium が遅れており、Sun Microsystems の 16 コア「Rock」UltraSparc-RK チップがかろうじて生命維持装置につながれている状態 (2009 年 6 月にキャンセル) であったため、IBM は Power6+ チップをそのままにして、システム ボードのソケットを 2 倍に増やすことで、ボックスにさらなる力を加えることができました。
もちろん、Power6+チップ自体はPower6の約2倍の性能を発揮すると期待されていましたが、IBMのロードマップはかなり曖昧だったため、チップの最高動作周波数は5GHzで、6GHzの設計ポイントに近づくことはなく、IBMは期待されていたようにPower6+ダイにコアを追加しませんでした。チップには起こりうることがあります。
どのチップメーカーもロードマップの達成を遅らせると、事業に悪影響を及ぼします。IBMにとって幸運だったのは、TukwilaとRockの遅延は、2005年10月のPower5からPower5+への移行によるパフォーマンス向上が途方もなく小さかったことよりも大きな痛手だったことです。Power6+でソケット数(コア数ではなく)を倍増させたことは、十分な損失対策でした。少なくとも、IBMがUnix系メーカーに対して市場シェアを拡大したという事実から判断すると、それは明らかです。おそらく、IBMの幹部たちはUnix系メーカーのボーナスをそのシェアから得ているのでしょう。
Power4からPower7世代にかけてプロセスが微細化されるにつれ、IBMはチップにますます多くのトランジスタを詰め込み、マザーボードからチップへと機能を集約してきました。Power4チップは1億7400万個のトランジスタを搭載し、最高動作周波数1.3GHzで動作させた際の消費電力は125ワットでした。このチップはコア用に1.44MBの共有L2キャッシュを搭載し、L3メモリタグもチップ上に搭載されていましたが、32MBのL3キャッシュは外付けながら同一パッケージに内蔵されていました。
Power4+が130ナノメートルに縮小されたことで、IBMはデュアルコア・プロセッサのL2キャッシュを1.5MBに増強し、DDRメインメモリ・コントローラをプロセッサ上に搭載することで、トランジスタ数を1億8,400万個にまで増加させました。Power5では、同じ130ナノメートル・プロセスを採用しながらも、同時マルチスレッド(コアあたり2スレッド)に対応した新しいコアを実装し、共有L2キャッシュを1.9MBに増強し、オフチップL3キャッシュを36MBに増強しました。
Power5+の90ナノメートル微細化により、チップの発熱量は、最高速度2.2GHzで動作する2億7600万個のトランジスタを搭載したチップで約70ワットにまで低下しました。比較的低い発熱量のおかげで、IBMは2つのPower5+チップを同一パッケージに搭載し、当時台頭しつつあったデュアルコア、4ソケットのx64サーバーに匹敵する製品を提供できました。
Power6チップにおいて、IBMはPower命令パイプラインを大幅に改良しました。業界のトレンドに逆らい、コア数を増やすのではなくクロック速度を引き上げるためです。その狙いは、コアあたりのパフォーマンスを向上させ、パフォーマンス単位あたりのソフトウェアコストを削減することでした。少なくとも、システム単位やソケット単位ではなくコア単位で価格設定されているソフトウェアにおいては、その効果が顕著です。Power6チップがこの分野でどれほど成功したかは議論の余地がありますが、Power6の設計には、既存および新規のワークロードにとって魅力的な、他の革新的な機能も盛り込まれていました。
65ナノメートルの微細化によって7億9000万個のトランジスタが利用可能になったことで、IBMはPower6設計において2つのコアに多くの追加機能を組み込むことが可能になり、実際にそれを実現しました。各コアには専用の4MB L2キャッシュが与えられましたが、L3キャッシュは32MBに縮小され、チップ外に残されました。これは、チップ内の2つの整数演算ユニットと2つの浮動小数点演算ユニットに加えて、小数演算ユニット(金額の計算用)やAltiVecベクトル演算ユニットなど、Power6の各コアに他の機能を搭載するためのスペースを確保するためでした。
縮む
Power7チップでは、IBMは45ナノメートルの銅配線/SOIプロセスを採用し、チップを微細化することで、12億個のトランジスタをダイ上に集積することを可能にしました。Power7コアは、Power6コアやPower6+コアとそれほど違いはありません。Power7コアには12個の実行ユニットが搭載されており、固定小数点ユニットが2個、ロード・ストア・ユニットが2個、倍精度浮動小数点ユニットが4個、ベクトルユニットが1個、10進浮動小数点ユニットが1個です。
これらのコアはアウトオブオーダー実行をサポートし、以前のPowerチップとバイナリ互換性があります。Power7の各コアは、32KBのL1命令キャッシュ、32KBのL1データキャッシュ、そしてそれに密結合された256KBのL2キャッシュを備えています。チップには、組み込みDRAM(スタティックRAMやSRAMではなくeDRAM)に実装された32MBのL3キャッシュが搭載されており、これは8つのセグメントに分割され、各セグメントは8つのコアに4MBずつ割り当てられています。
eDRAMはSRAMよりも低速ですが、コアに非常に近い位置にあります(これは重要な点であり、その理由は後ほど説明します)。Power7チップには、チップあたり100GB/秒の持続帯域幅を実現する2つのデュアルチャネルDDR3メモリコントローラが実装されています。
IBMの8コアPower7プロセッサー
Power7の設計にはいくつか大きな変更点があり、いずれもパフォーマンスに影響を与えます。まず第一に、このチップには、従来のデュアルコアPowerチップで使用されていたオフチップL3キャッシュではなく、内蔵DRAMに実装された32MBのオンチップL3キャッシュメモリが搭載されています。これは、Power6およびPower6+チップと比較して、スレッド数やコア数が増加したことよりも重要である可能性があります。
IBMは、32MBのオンチップL3 eDRAMキャッシュの製造に使用した技術により、スタティックRAMを使用した場合のトランジスタ数を約20億個にまで増強できるL3キャッシュを実現したと述べています(ちなみに、クアッドコアのTukwilaは30MBのオンチップL3キャッシュを搭載し、ほぼこの規模に相当します)。Power Systemsのワールドワイド戦略およびマーケティング担当副社長、スコット・ハンディ氏によると、eDRAMキャッシュは、スタティックRAMで1ビットのデータを格納するのに必要な6個のトランジスタではなく、1個のトランジスタと1個のコンデンサのみで1ビットのデータを格納できるとのことです。
このeDRAMがPower7の設計とパフォーマンスに及ぼす影響は2つあります。まず、L3キャッシュをチップに追加することで、コアとL3メモリ間のレイテンシが6分の1に短縮されたとHandy氏は述べています(正確なメモリレイテンシと速度は記事執筆時点では入手できませんでした)。つまり、Power7コアは、以前のPowerコアと比べてデータ待ち時間が大幅に短縮されたということです。
また、L3キャッシュの占有スペースを大幅に削減することで、IBMはコア数を4倍の8コア/ダイに、コアあたりのスレッド数を倍の4に増やすことができました。eDRAMがなければ、Power7チップはTukwilaと似たようなものになっていたかもしれません。トランジスタの予算の半分がキャッシュによって消費されていたのです。
本日発表された4つの異なるPower Systemsサーバーに搭載されるPower7チップは、3GHz、3.3GHz、3.5GHz、3.55GHz、3.8GHz、および4.1GHzで動作します(IBMは、本日発表された4つのボックスに、6つまたは8つの動作コアを備えたPower7チップを使用しています)。最後の2つのクロック速度は、Power Systems 780ミッドレンジサーバーでのみ利用可能であり、より高速な4.1GHzクロック速度は、いわゆるTurboCoreモードでのみ利用可能です。このモードでは、システムマイクロコードが8コアチップのコアの半分をシャットダウンするように指示されるため、プロセッサーは、8つのコアがオンの状態で実行できる3.8GHzから速度を上げることができます。
TurboCoreモードでは、アクティブ化された4つのコアが32MBのeDRAM L3キャッシュ全体と両方のメモリーコントローラーにアクセスできるため、クロックとキャッシュが重要となるデータベースワークロードでは、パフォーマンスが約20%向上します。さらに、これらのチップは最大4.5GHzまで動作するように設計されているため、Power Systemsユーザーは、サーバー内の熱条件が許せば、さらにオーバークロックしてパフォーマンスを向上させることができます。オーバークロックしない場合、Power Systems 780のPower7コア(チップではなくコア)は、Power6およびPower6+チップを搭載したPower 570マシンの約2倍のデータベースパフォーマンスを実現します。
「Power7コアの中で最も低速なビンでも、5GHzのPower6コアよりも高速です」とHandyは自慢げに語っている。この主張がパフォーマンスデータで検証されるのを見るのは興味深いだろう。
Oracleとその64スレッドSparc T2およびT2+チップ、そして本日Intelから発表予定のクアッドコア8スレッドTukwilaチップと激しい戦いを繰り広げているIBMにとって、Power7チップは32スレッドを搭載しており、これはスレッドを必要とするワークロードにおいてPower5からPower6+チップが実現可能なスレッド数の8倍に相当します。こうしたワークロードの一つがIBM独自のWebSphere Application Serverであり、初期のベンチマークテストでは、同じコア数のPower6システムからPower7システムに移行することで、AIX上で稼働するWebSphereのパフォーマンスが85%向上しました。
ちなみに、Power7チップにはそれぞれ「Intelligent Threads」と呼ばれる機能が搭載されており、状況に応じて仮想命令ストリームのオン/オフを切り替えることができます。Power7プロセッサーとそのシステムには、「Active Memory Expansion」と呼ばれる機能も搭載されています。これは、メインメモリ用のメモリ圧縮技術で、IBMはこれまでこの技術について言及しておらず、現時点では詳細な情報もほとんど提供していません。本日の公式発表で簡潔に言及された内容から判断すると、AMEはDDR3メインメモリで2:1のデータ圧縮を実現しているようです。®