AS/400展望台

IBMのパワー・プレイ



フランク・G・ソルティス著

ホッケーでは、相手チームが反則を犯したために自分のチームが1人または2人多い状態でプレーする状態をパワー・プレーと言います。パワー・プレー中は自チームが得点する能力が格段に高まります。「パワー・プレー」という言葉はおそらく、Powerプロセッサ・テクノロジの促進を図る最近のIBMを表現するのにもふさわしい言葉かもしれません。最新のプロセッサ・テクノロジを市場で確立させるために多くのベンダーが苦闘する中、IBMは依然としてプロセッサ・テクノロジのプロバイダとして首位の座に就いています。 IBMは長年にわたって、最先端のプロセッサを自社製品に使用するために開発してきました。この占有のテクノロジはIBM以外の他者と共有されることは決してありませんでした。しかし、1990年代初期に、IBMがMotorolaやAppleと共同でPowerPCという新しいシングル・チップのRISCプロセッサを開発した頃から事態は変わり始め、以来、さまざまなベンダーがより多くの製品でPowerテクノロジを使用し始めました。たとえば2002年には、1,800万個以上のPowerプロセッサが出荷されました。その用途は今やIBMのサーバー向けに留まりません。

Powerという名前のバリエーションとして今日よく知られているのが、(POWER4やPOWER5で使われている)POWERとPowerPCの2つです。これら2つのうち、PowerPCという名前の方がはるかによく知られています。これは、携帯電話やPDAからローエンドのワークステーションやサーバーに至るまで、あらゆるところでPowerPCチップが広く使用されているためです。POWERという名前はIBM社外ではほとんど知られていませんが、高性能サーバーのための優れたプロセッサ・アーキテクチャとして、その認知度を急速に高めています。IBMは最近Powerという名前のファミリ全体の促進を図り始めました。
POWERとPowerPCの関係はきわめてシンプルです。ともに同じ基本アーキテクチャの定義を使用しています。POWERとPowerPCの違いは、この基本アーキテクチャを特定のプロセッサ実装用にするための拡張部分にあります。たとえば、POWERアーキテクチャはサーバーでの使用を主眼において設計されているため、最近のPOWERプロセッサの実装には、論理パーティショニングなどといったサーバー機能用の拡張部分が含まれています。一方、PowerPCプロセッサは携帯電話用に設計されているため、論理パーティショニングをサポートする必要はありませんが、電話機能のための特殊な拡張機能が必要となるかもしれません。

両者のもう1つの違いは可用性と関係があります。PowerPCテクノロジはOEM提供者が広く利用できるようになっています。PowerPCはオープンで拡張可能であり、さまざまなアプリケーション用にカスタマイズすることが可能です。このように、PowerPCプロセッサの実装の違いによって、各プロセッサの具体的な用途に応じて異なる拡張部分を含めることが可能であり、実際にも多く含まれています。また、PowerPCアーキテクチャを使用するプロセッサはIBMだけでなくその他のメーカーからも入手が可能です。
POWERテクノロジは未だ占有のテクノロジで、IBMからのみ入手が可能です。POWERプロセッサは元々IBMのサーバーだけをその使用対象としていましたが、それも変わり始めました。ごく近い将来、IBM以外のベンダーの製品に最新のPOWERプロセッサが使用されることになるでしょう。これら2つのプロセッサ・アーキテクチャは、最小の携帯用電子機器から世界最高のスーパー・コンピュータに至るまで、コンピュータ世界全体をカバーします。

IBMのPOWERプロセッサとPowerPCプロセッサのロードマップは、2010年を越えるところまで拡大しました。この2つのアーキテクチャの類似性や相違点について混乱しているOS/400のユーザーがまだ多くいるようですので(たとえば後述の「PlayStation 3とOS/400の真実」を参照)、もう少し詳しい考察が役に立つでしょう。気が遠くなるほどの詳細にまで立ち入ることはしませんが、この2つのアーキテクチャがどのようにして登場し、お互いとどう関係しているのかについて考察してみます。

POWERの進化

1980年代にIBMの研究者達はRISCプロセッサの設計を強化し、プロセッサ・ハードウェアが複数の命令を1つのサイクルで実行できるようにしました。この機能強化のことをIBMの研究者達はスーパー・スカラーと呼びました。スーパー・スカラーRISCプロセッサは1990年にRS/6000で初登場しました。RISCプロセッサに対するスーパー・スカラーの機能強化を他と区別するために、IBMはPerformance Optimization With Enhanced RISCの頭文字をとってPOWERというアーキテクチャ名を付けました。POWERアーキテクチャは、新しいRISCプロセッサを開発するために1991年に始まった、Apple、IBM、Motorolaの協業の第一歩でもありました。

協業3社の要望をすべて満たすために、POWERアーキテクチャにある修正が必要となりました。初期のPOWERプロセッサはマルチ・チップを使用した実装となっていました。このアーキテクチャを、低コストでシングル・チップの実装ができるようにいくらか簡素化する必要がありました。その後の拡張において、マルチプロセッサ処理の拡張が追加され、32ビットのアーキテクチャは64ビットのアドレッシングと命令を包含するように拡張されました。その結果生まれたのがPowerPCアーキテクチャです。

PowerPCアーキテクチャはPCやワークステーションで使用されることを想定して設計されていたため、ビジネス・アプリケーション・サーバーで使用する際に必要な拡張を決定するための大規模な研究がIBM社内で始まりました。私がその研究をリードしたのですが、その結果として64ビットRISCプロセッサ・アーキテクチャを定義することになり、1995年にAS/400で日の目を見ることになりました。このアーキテクチャは社内でAmazonと呼ばれていました。社外ではPowerPC ASと呼ぶことにより、PowerPCに64ビット拡張を加えてビジネス計算用にしたものであることを示していました。

新世代のPowerPC ASプロセッサは(社内的にはApacheとして知られていましたが)、1997年にAS/400で初めて導入され、サーバー・モデルではRS/6000で初めて導入されました。RS/6000においてPowerPCプロセッサは、AS/400で使用されている64ビット・プロセッサとまったく同じプロセッサが使われていたにもかかわらず、RS64という名前が付けられました。RS/6000におけるPowerPCプロセッサ・アーキテクチャの以後の実装では、RS64-II、III、IVといった名前が付けられましたが、多くのユーザーに知られていたのはNorthstar、Pulsar、S-Starというコード・ネームでした。

POWERアーキテクチャの一層複雑な浮動小数点命令の多くは、PowerPCアーキテクチャやPowerPC ASアーキテクチャには含まれていなかったため、IBMは技術計算アプリケーション用のPOWERプロセッサの開発を継続しました。1993年に登場したPOWER2プロセッサでは、その機能に浮動小数点用の2番目のパイプラインが加わり、技術分野でのワークロードにおけるパフォーマンスを大幅に向上させました。

AIXオペレーティング・システムがPowerPCアーキテクチャに移行し、AS/400とRS/6000との間で共通のプロセッサ上で実行されるようになったため、POWERアーキテクチャもPowerPC互換になる必要があったのは当然のことです。そうでないと2つの異なるAIXのバージョンを保守しなければならず、それは決して望ましいことではありませんでした。また、PowerPCアーキテクチャのもう1つの機能であるマルチプロセッサをPOWER2プロセッサはサポートしていませんでした。

最初のPOWER3プロセッサは1999年初めに登場しました。このプロセッサはPowerPCと完全互換で、マルチプロセッサ構成をサポートしていました。POWER3はPowerPC ASと同様に32ビット・アーキテクチャおよび64ビット・アーキテクチャを完全に実装していただけでなく、PowerPCアーキテクチャにはなかった多くの技術計算用命令を備えていました。

POWER4プロセッサは、iSeriesとpSeries両方のハイエンド・モデルでの使用を対象として、2001年に登場しました。POWER4プロセッサでは、PowerPC ASのすべての商用拡張とPOWER3のすべての技術拡張を結合しました。商用計算ワークロードと技術計算ワークロードの両方を完全にサポートしたIBMの最初のサーバー・プロセッサでした。POWER4+と名付けられたさらなる高性能版は、pSeriesの一部のモデルで2003年に利用可能になりました。POWER5の登場は、サーバー・プロセッサ・ファミリ用の64ビット・テクノロジとしては9代目になります。

POWERのアーキテクチャ拡張

OS/400の立場から見ると、POWERアーキテクチャはPowerPCアーキテクチャの拡張とみなすことができます。つまり、POWERはPowerPCに特別な機能を追加してOS/400などのオペレーティング・システムをサポートするようにしたものなのです。前述のように、技術計算を強化するための機能がいくつか追加されましたが、これはOS/400には関係ありません。1995年当時、新しいAS/400 RISCプロセッサ・アーキテクチャを「PowerPC Plus」と呼んでPowerPCアーキテクチャを拡張したことを示したかったのですが、IBM社内でこの名前について反対する声があがり、PowerPC ASと呼ぶことにしたのです。

POWERはPowerPCを拡張したものなので、PowerPC上で実行するように設計されたソフトウェアは、POWER上でも実行することができます。その逆は必ずしも成り立ちません。OS/400およびそれ用に記述されたアプリケーションは、純粋なPowerPCプロセッサ上では実行できません。OS/400が正しく動作するためには、POWERに含まれている拡張部分が必要となります。PowerPCベースのゲーム機でOS/400を実行できない理由がこれでお分かりでしょう。

アーキテクチャの観点から言えば、POWERとPowerPCの最大の違いは、OS/400のシングル・レベル・ストレージ用のサポートがPOWERに加わったことです。POWERプロセッサは、2つのアドレス変換モードで動作する機能を備えています。そのうちの1つのモードはタグ・アクティブ・モードと言い、OS/400が使用するシングル仮想アドレス空間をサポートしています。もう1つのモードはタグ非アクティブ・モードと言い、Linux、AIX、WindowsなどOS/400以外のほとんどのオペレーティング・システムが使用するマルチ・アドレス空間をサポートしています。タグ非アクティブ・モードは、現在すべてのPowerPCプロセッサで使用されているアドレス構造とまったく同じものです。

POWERプロセッサがタグ・アクティブ・モードで動作しているとき、メモリ中の各4ワード(16バイト、128ビット)には特別なビットが関連付けられていて、システム・ソフトウェアによってオン・オフできるようになっています。OS/400のアドレスは128ビットの長さであり、4ワード中に格納されています。上記の特別なビットは、その4ワードに格納されているアドレスに対して変更があった場合、それを検知するのに使用します。このアドレス保護機構によりOS/400が高いセキュリティレベルを保ち、ウイルスに感染されにくい理由がお分かりいただけるでしょう。ちなみに、この特別なビットのことを65ビット目と呼ぶ人がまだたくさんいるようです。実際にはこれは129ビット目です。

PowerPCにはない拡張がPOWERには他にもあります。たとえば、仮想化、論理パーティショニング、ハイパーバイザー・モードなどです。POWERアーキテクチャは今後も進化を続けるので、システムの他の要素をサポートするような拡張が今後も追加されていくでしょう。そのうち、こうした拡張の中にはPowerPCのプロセッサにも見られるものが出てくるかもしれません。ただし、POWERはサーバー用に最適化されていくことに変わりはありませんので、POWERとPowerPCの両アーキテクチャの間には何らかの相違が残ると考えられています。

POWER5およびそれ以後

POWER4はハイエンドのサーバーで使用することを想定して設計されていますが、POWER5チップはどちらかというとミッドレンジあるいはローエンド用の設計であり、しかもハイエンドのサーバーを強化する能力も備えています。これを実現している秘訣は、IBMが動的電力管理(Dynamic Power Management)と呼んでいるものです。POWER5チップには、サーバー上で実行されているアプリケーションが使用しないチップ上のトランジスタを停止できる回路が追加されています。アプリケーションがより多くのコンピュータ・パワーを必要とするようになったときは停止していたトランジスタが再び始動します。

このようにPOWER5チップは、アプリケーションをサーバー上で実際に実行するのに必要なだけの電力だけを使用します。たとえば、現在のPOWER4+チップに比べると、1つのPOWER5チップによって、同じ電力で性能に影響を及ぼすことなく50%も多くの命令を実行することができます。この革新的な電力管理機能は、使用電力量を低減させているだけでなく、POWER5チップが発生する熱も大幅に低減させています。発熱量を低減できるということは、チップをずっと小さな物理パッケージ上で使用できるということです。

POWER5にはPOWER4と同様に、2つの64ビット・プロセッサ・コアが1つのシリコン・チップ上にあります。POWER4プロセッサと異なるのは、各POWER5プロセッサがスレッドと呼ばれる2つの独立した命令ストリームを同時に実行することができるという点です。同時マルチスレッド実行と呼ばれるこの機能により、1つの物理プロセッサが2つの仮想プロセッサのように見えます。

PowerPC ASプロセッサの初期世代の一部(具体的にはNorthstar、Pulsar、I-Star、S-Star)は、マルチスレッドの形式を実装していました。POWER4の設計ではマルチスレッドを使用していませんが、その代わりに2つのシングル・スレッド・コアを1つのチップ上で使用しています。POWER5は、デュアル・コアの設計とより高度なバージョンのハードウェア・マルチスレッドを結合しています。端的に言えば、POWER5チップはオペレーティング・システムやアプリケーション・ソフトウェアからは4つのプロセッサのように見えるのです。したがって、POWER5チップを32個搭載したハイエンドのサーバーは、128個のプロセッサを搭載しているように見えます。

POWER5プロセッサは、POWER4+プロセッサを開発した際に使用したのと同じ130ナノメーターのcopper/SOIプロセスで実装されています。興味がある方のために申し上げると、1ナノメーターは1メーターの10億分の1です。これに続く実装であるPOWER5+は90ナノメーターのプロセスを使用する予定で、POWER5よりも一層速いクロック速度が可能になります。POWER6チップのプロトタイプは65ナノメーター・プロセスを使用して超高性能プロセッサとなる予定で、すでに開発に入っています。プロセッサの性能は近い将来に問題ではなくなるでしょう。

フランク・G・ソルティス氏はIBMロチェスター研究所に勤務しており、AS/400およびiSeriesで使用されるテクノロジ非依存のアーキテクチャを開発しています。同氏はIBMのiSeriesの主任研究員であり、またミネソタ大学のコンピュータ工学科の教授でもあります。


PlayStation 3とOS/400の真実
昨年の夏、私はオーストラリアでPowerPCとPOWERテクノロジの利用範囲がどれくらい広範囲になったのかについて、聴衆のお客様と議論していました。そのポイントを説明するために、私はセル・チップの開発について簡単に説明しました。この驚異的なほどにパワフルなチップは、ソニーのPlayStation 3用にソニー、東芝、IBMの3社で共同開発中です。このチップはPlayStation 2で使用されているプロセッサ・チップよりも1000倍以上高速で、「チップの上に乗ったスーパー・コンピュータ」と呼ばれています。複数のプロセッサ・コアを搭載し(「セル」という名前の由来になっている)、グラフィック処理などの高負荷な計算処理をこなすだけでなく、高帯域幅の通信や複数の機器を実行するための回路も備えています。セル・チップは2005年中に登場予定ですが、ゲーム機に限らずさまざまなネットワーク機器で広く使用される予定です。セットトップ・ボックスやハイビジョン・テレビ、そして携帯電話に至るまで、セル・チップをあらゆる機器に使用する計画があります。また同チップの設計の一部がIBMから将来のサーバー・チップとして登場するという憶測も飛んでいます。

私は前述の聴衆に対して、ソニーのPlayStationでOS/400が実行できたら楽しいでしょうねと冗談を飛ばしました。IBMにはゲーム機でOS/400をサポートする計画はありませんし、今現在それは可能ではありません。というのもOS/400はPOWERプロセッサだけにある機能を必要とするからです。しかしこれだけでは、飛び交う憶測やOS/400をさまざまなPowerPCベースの機器で実行させようという議論を止めることはできません。

そうした憶測のほとんどはそのときの聴衆の一人であるオーストラリアのレポーターが書いたニュース記事で弾みがついたのです。その記事は世界中の報道機関の間にあっという間に広まったのですが、それによればOS/400はIBMロチェスター事業所の研究室ではすでにソニーのPlayStation上で実行できているというのです。冗談に端を発した話が多くの人の頭の中で現実に起こり得ることとなったのです。ゲーム愛好家達はあちこちのフォーラムでOS/400の長所について議論を始め、IBMロチェスター事業所の開発者達でさえもOS/400を実行しているPlayStationを見つけようと研究所内を探し回っています。

PlayStation上でOS/400を実行させるという議論がようやく収まりかけた頃、マイクロソフト社のXboxが近々IBMのテクノロジを使用するという昨年末の発表により、ゲーム機上でOS/400実行させようという話題がまた息を吹き返しました。新しいXbox用にIBMが設計した3つの64ビット・マイクロプロセッサはPOWER5プロセッサをベースとしたものになるという数々の噂がいろいろなプレス・レポートで流れました。ゲーム機でOS/400を実行させるという話題は簡単には消えそうにはありません。

フランク・G・ソルティス



↑このページのトップへ
TOPPAGE

BELLDATA, Inc. Copyright reserved.