2014.7.23
Timothy Prickett Morgan著

Power8システムの高速、廉価メモリーに感謝

新Power8システムの出荷が6月6日に始まりました。本稿ではこの新マシーンのメモリー・サブシステムに注目します。Power8マシーンには多数の新しいテクノロジーが追加されており、メモリーはこのプロセッサー・コアをフルに活かします。
Power8のチップはふたつのDDR3メインメモリー・コントローラーを有しています。以前Power7+コントローラー上に有った一部のDDRインターフェースはCentaurと呼ばれるメモリー・バッファーチップに移っています(なぜなら半分がメインメモリーで半分がL4キャッシュだからです)。DDRインターフェースをバッファーチップに移動させることにより、IBMはプロセッサーを変える必要なく、メモリーカードを変えることができ、DDR4メモリーをこれらのシステム上でサポートすることができます。(これは賢明であり、最終的にすべてのチップメーカーは、システムのなかのコンポーネントを分けるので、この方法に追随すると思われます。)
各Power8チップは8通りのメモリー・チャネルを有しており、各Centaurチップが9.6GB/secのンターフェースによって各々のチャネルにリンクしています。Centaurバッファーチップには16MBのL4キャッシュが実装されています。初期のマシーンではIBMは16GB、32GB、及び64GBのメインメモリーカードをサポートしており Centaurチップはこれらのカードに下図のように接合されています。

図6

Power8システムのメモリーカードはプロセッサーカード上に装着されてはいませんが、このマシーンの中に自身の専用スロットを有しています。IBMはPower8チップを半分に刻み、12ソケットチップに代わってデュアルチップのモジュールを作成したのでPower8ソケットのメモリー構成を変えていません。アーキテクチャー的には、IBMはこのマシーン上で128GBのメモリースティックをサポートすることができ、メモリー容量を1ソケットにつき1TBまで押し上げることができます。しかしながら、Power8マシーンの最初のリリースでは、メモリーは64GBのメモリースティックで1ソケットについて上限512GBに制限されています。このメモリーカードは1.6GHzで稼働し、Power7+システムに使われていた1.07GHzに比べると大幅に速くなっています。

図7

メモリー・チャネルは、1チャネルについて1クロックで2バイトの読み取り、1バイトの書き込みによってプロセッサーとCentaurバッファーチップ間を1チャネルについて約8GB/secのメモリー帯域を維持することができます。したがって合計192GB/secを実現することになります。Centaurチップ上のL4キャッシュと合計32個のDDR3メモリーポート間のリンクは合計410GB/secの帯域を有しています。これは極めて大きなメモリー帯域であり、IBMがPower8プロセッサーをX86と比較して自慢しているフィーチャーのひとつです。Power8チップは、Power7とPower7+プロセッサーで使われていたActive Memory Expansionの圧縮を継続してサポートしています。このフィーチャーは、Unixのバリアント型AIXを稼働させるために構成されているプロセッサー上でのみ使用できます。IBMはActive Memory Expansionによる圧縮率を約2:1と考えており、Power7+チップのメモリー圧縮アルゴリズムはさらに速く稼働させるようにチップの回路にエッチングされていました。Power8チップは同じくメモリー圧縮回路を有していますがIBM iとLinuxワークロード用のメモリーの圧縮はサポートしていません。メモリー圧縮はIBM iの顧客がメモリーコストを下げるために使うことができたであろうこと、及びIBMがLinuxを稼働させているX86サーバーに対して、同じくLinuxを稼働させているPowerプラットフォームを有利に導くために必要であることを考えるとPower8がIBM iのメモリー圧縮をサポートしていないのは悩ましいところです。
また、Power8のメモリーカードはメモリーのスペアリングを持っており、メモリーチップが破損したときのシステムの回復に役立ちます。
Power8のメモリーコントローラーはトランザクショナル・メモリーをサポートしています。このトランザクショナル・メモリーは2012年の秋に発表されたzEnterprise EC12 のメインフレームでデビューしました。IBMが製造した大規模並列処理コンピュータBlueGene/Qもまたトランザクショナル・メモリーをサポートしています。
通常のメモリーでは、システムを通してトランザクションが大量に投入されると競合を避けるために資源はロックダウンされます。しかしながら、トランザクショナル・メモリーでは、プロセッサーは作業を行ってほとんど常に競合の無い状態を確保し、もし競合が見られた場合には取り消して待機した後、その作業をリドゥします。メインフレームでは、このトランザクショナル・メモリーのモデルに移行することによって、DB2データベースを稼働させているSystem z EC12と仮想化サーバーのワークロードのパフォーマンスが45パーセントも向上します。

どのオペレーティングシステムがトランザクショナル・メモリーをサポートするか、くまなく探してみました。デフォルトではAIXがサポートすることは間違いありませんが、IBM i あるいはLinuxがサポートするかは明確ではありません。また、トランザクショナル・メモリーをこれらのシステムのソフトウエアあるいはアプリケーション・コードで使えるようにするために、どのような変更が必要なのかも明確ではありません。ミッドレンジやハイエンドのシステムで、IBMは通常、必要に応じてユーティリティー・ファッションでメモリーをアクティブにするキャパシティー・オンデマンドを備えています。しかしながら、エントリーのPower8マシーンではメモリー・キャパシティーのすべてがカードでデフォルトになっています。したがって、カードとメモリーをアクティブにするために新たなコストは発生しません。ユーザーは単一ソケットマシーンでは適合していることが判ればプラグインしますが、2ソケットボックスではメモリーカードをペアでプラグインしなければなりません(これはシステムのバランスを保ち、円滑に作動させるための基本操作です)。IBMは単一ソケットのマシーンであってもこれを強く勧めています。理由はチップがソケットの内部でふたつに分割され、Power8 DCMの各半分に自身のメモリースティックが与えられるからです。2Uマシーンの中のメモリーは4Uマシーンで使われるのとは異なるパッケージになります。理由は、前者が多くの垂直空間を有していないからです。ペアのカードのなかで異なるメモリー容量をミックスすることはできません。しかしながら、単一サーバー上で異なる容量のペアをミックスすることは可能です。メモリースティックはシステムに追加すればするほどメモリーのアプリケーションを使用する能力が高まります。そしてIBMは少なくともメモリースロットの半分はすべての構成に装着することを勧めています。これは後にメモリースティックを太くするための余地を残して置くことになります。
したがってそれが新メモリーであり、これがシステムのパフォーマンスにどのような影響を与えるか深く掘り下げて調べます。差し当たり、新しいマシーン上のフィーチャーに向けたメモリーの価格について触れましょう。Power7+とPower8間の定価の比較を見ます。

図8

上の表には2~3の注目するべき事項が有ります。第一は、エントリーの16GBカードはPower8マシーンの太い32GB及び64GBカードより高価です。Centaurバッファーチップは多分廉価では無く、それがPower8システムの16GB DDR3カードがPower7 及びPower7+マシーン上の16GBカードよりも47.1パーセント高価である理由だと思われます。しかしながら、1ギガバイトにつき$78は、古いハードウエア上の64GBカードよりも廉価です。太いカードは1ギガバイトにつき$53であり、IBMがPower7マシーン上の密度の高くないカードに適用している価格と同額です。また表の下段に注目してください。メモリー価格はPower7プロセッサーをベースにしたPowerLinuxマシーン上の価格の半額以下です。しかしながら、Power8チップをベースにしたLinuxのみのPower S812L及びS822Lに関しては、メモリーはIBM iあるいはAIXあるいは双方をサポートできる簡素な普通のサーバー上のコストと同じです。
したがってメモリーは以前のシステム上の細いスティックに支払っていた価格と現在の太いスティックのギガバイトに支払う価格が同じになっています。すべてのボードにわたってメモリー価格が下がるのは好ましいことです。しかしながらIBM iの顧客がAIXやLinuxの顧客と同じ価格になれば少なくとももっと公平といえます。
もちろんAIXのショップはメモリー圧縮を有しており、効率的に価格を半分にカットしています。メモリー圧縮がIBM iで可能になればもちろん素晴らしいことです。

ページトップ

ボタン