ZメインフレームCPUと同様に、Powerチップに統合Arm命令セットが加わるのか
過去60年の間に、10年に一度の頻度で、IBMは、同社の多様なシステム アーキテクチャーを統合する取り組みに着手しています。ほとんどはうまく行きませんが、1964年4月のSystem/360メインフレームと1988年6月のAS/400ミニコンピューターの公開は例外でした。とは言え、AS/400それ自体は、部分的に、失敗した統合の取り組みで生み出されたテクノロジーがベースになっています。
1986年に、 「Fort Knox(フォート ノックス)」 プロジェクト は、System/4300空冷式エントリー メインフレーム ラインをSystem/38(1978年発表)およびSystem/36(1983年発表)と統合しようとしましたが、失敗に終わりました。しかし、その失敗で、ロチェスター ラボは、Fort Knoxの破片の一部を引っ張り出して来て 「Silverlake(シルバーレイク)」プロジェクトを生み出し、真に革新的なApplication System/400を提供することとなります。このマシンは、System/38のすべての利点を備えていました。すなわち、単一レベル記憶、データベースだけでなくファイル システムとして統合されたリレーショナル データベース、非対称型マルチプロセッシング アーキテクチャー、および先進的なCISCプロセッサー、メモリーおよびディスク デザインがすべて統合されていました。また、当時のIBMメインフレームに比べて、リレーショナル データベース作業のユニット当たりで掛かるコストは約半分でした。
1995年、IBM、Motorola、Appleの3社の間で設立されたPowerPCコンソーシアム(1991年に組み込みシステムからゲーム機、PC、データセンター サーバーまでのコンピューティング デバイスをカバーすることを目指して設立)を通じて、IBMとMotorolaは、Power 615と呼ばれる統合プロセッサーでチームを組みました。これには、Powerコアと追加されたX86デコード ユニットが含まれていただけでなく、2つのオペレーティング システムの間でのコンテキストの切り替えも可能で、同時に同じプラットフォームでのアプリケーションの稼働をサポートしました。当時、IBMはIntel社からのX86のライセンスを保有しており、実際、一時はX86チップの製造業者の1つでした。そして、AMD以外では、現在も、私たちが知るそのようなライセンスを保有している唯一の企業です。興味深いことに、Power 615チップは、当時のIntel Pentiumソケットに直接接続されました。もちろん、Power 615は、世に出ることはありませんでした。それはどうやら、PowerデコーダーとX86デコーダーとの間のコンテキストの切り替えがあまりにも遅かったからだったようです。しかし、Power 615の意義は証明されました。今まさに重要なこと、すなわち、デュアルISAプロセッサーを作成できるということです。
また、2000年代中頃には、IBMが Project ECLipz (プロジェクト エクリプズ)で、メインフレームおよびミニコンピューター ラインをPower6プロセッサーで統合しようとしたことを覚えている方もいるかもしれません。ECLipzの計画(ipzは、System i、System p、およびSystem zを表します)は、Power6 RISCプロセッサーでメインフレームのマイクロコードをエミュレートし、System/360が発表されて以来初めて、IBMのプロプライエタリ サーバーの単一のファミリーを持つことだったようです。これは結果が出ませんでした。代わりに、外部では、ECLipzは、IBMがメインフレームのz CPUとPower SystemsのPower CPUとの間でチップ設計コンポーネントおよび手法を共有するものとして位置付けられました。大きな目標でしたが、実現されませんでした。
ここから話は今年の4月に移ります。 IBMとArmがこのような曖昧な発表を行い、私も少し困惑させさられました。このプレス リリースの冒頭の文からは、IBMがどのようなことを計画しているかがきちんと伝わりますが、私を含めて誰もが、これをデュアルISAチップの発表ではなく、ある種の仮想化の発表だと受け取ると思います。それはIBMおよびArmが意図的に曖昧にしたからです。いずれにしても、このリリースは、「IBMは、Arm社と戦略的協業を行い、将来のAIおよびデータ集約型ワークロードを、より高い柔軟性、信頼性、セキュリティのもとで実行可能とする新たなデュアル アーキテクチャー ハードウェアの開発を目指す」と述べています。やはり、チップに2つのISAではなく、システムに2つのチップと読めてしまいます。そして、そのことから私は、Powerおよびzマシンの両方でのArmベースのIOPについて、そしてそれが何を意味する可能性があるかについて考え始めました。しかし、私はその週は入院していて、他のことで頭がいっぱいだったこともあり、この件に戻って、その後の状況を追い掛けるのを忘れていました。
ところで、先週のHot Chipsで、Power11プロセッサーに取り組み、この4年間、Z CPUのチーフ アーキテクトを務めていた、DE(ディスティングイッシュド エンジニア)の Christian Zoellin氏は、将来のZプロセッサー(「Telum III」と呼ばれると推定されます)は、同時にZおよびArm命令セットをサポートすると、うっかり秘密を漏らしてしまったようです。コンテキストの切り替えは今ではナノ秒で行われるようになっているため、こうしたデュアルISAのアイデアがついに功を奏するようです。そして、これが意味することは、衝撃的な5.7 GHzのピーク クロック スピードで動作する11コアTelum IIIは、世界最速のメインフレーム プロセッサーであるだけでなく、世界最速のArm v9.3アーキテクチャー プロセッサーでもあるということです。
現行のz17 「Telum II」チップは、Samsung社の5ナノメートル プロセスで実装され、8つのz17コア、統合されたDPU、およびSpyre行列演算アクセラレーターの小型バージョン(24 TeraOPS)を1つのダイの上へ詰め込んでいます9。Telum IIは、5.5 GHzで動作し、2つのスペアを加え、コア当たり36 MBのL2キャッシュを搭載していました。これは最大360 MBの仮想L3キャッシュにまとめることができました。
以下にTellum IIIの図を示します。
Tellum IIIコアには、別個のZおよびArmデコーダーがあります。ちょうど、Power 615に別個のPowerおよびX86デコーダーがあったのと同様です。Arm命令は、エミュレートされるのではなく、明示的に実行されます。実際、Tellum IIIコアには、2,792のAArch64命令および239のAArch64レジスターが含まれています。Telum IIIコアは、SVEおよびSVE2ベクトル演算ユニットを含め、Arm v9.3仕様をフルにサポートします。zベクトルまたはArm SVE2モードで稼働できる単一のベクトル ユニットがあるのか、2つの固有のベクトル エンジンがあるのかは明らかではありません。私は、SVE2ベクトルが128ビットZベクトル ユニットにマッピングされるのではないかと思います。この実装は、リトル エンディアンのArm実行を、ZコアのCISCビッグ エンディアン マイクロアーキテクチャ内で稼働させます。
以下に、そうした2つ目のArm ISAを並列的に稼働させるためにZコアに対してなされたアーキテクチャー変更を示します。
Zoellin氏は、Telum IIIプロセッサーの総トランジスタ数を示さず、Arm v9.3 ISAをコアに追加するオーバーヘッドも示しませんでした。そして、彼はそれらを数える必要があったと述べ、「こちらで少し、そしてあちらで少し」と付け加えました。デコーダーがそのほとんどであり、予想される通りだと彼は述べています。
z18プロセッサー(おそらくそう呼ばれるでしょう)には、Telum IIプロセッサーからの単一のDPUだけでなく、一対のオンチップSpyreアクセラレーター行列ユニットもあります。Arm ISAは、これらのユニットの両方にアクセスすることができ、それらはチップのArmパートでネイティブに稼働するLinuxアプリケーションにアクセスすることができます。
論理的にTelum III z18チップ上でアプリケーション スタックがどのように動作するかを以下に示します。
上図の、ハードウェアおよびソフトウェア仮想化およびランタイムのレイヤーについては驚くべきことは何もありません。
こうしたことを踏まえた上で、Power Systemsベースおよびそのビジネスを稼働するIBM i およびAIXプラットフォームに立ち戻って、この件について見てみましょう。まず、Power12は、間違いなく、Zと同じArm v9.3アーキテクチャー統合を導入した方が良いでしょう。Arm Linuxスタックをネイティブに稼働することがZメインフレームにとって良いことであれば、それはPower Systemsにとっても同じく良いことでしょう。そして、決して技術的に困難なことではありません。
また、Spyre行列ユニットが将来像であるなら、Power12コアは、Telumプロセッサーのようなチップ パッケージでそれを使用した方が良いでしょう。Powerコアは、それらのベクトルを保持したまま、それらの上にSVE2ベクトルをマッピングして、将来のPower12チップでネイティブなAIアプリケーション向けにベクトルおよびテンソル演算を提供することができます。しかし、システム ハウスのZおよびPの部分を同じ方向に進ませるべき時です。
Power13およびz19チップ世代では、完全に統合がなされているかもしれないと私は思います。IBMは、統合チップに3つのデコーダーを追加して1つのプラットフォームを販売することができます。そうすれば、ハードウェア開発における多額の費用の節減になります。これはややこしいかもしれませんが、ArmがZ上に移動できるなら、同じくPowerもできるでしょう。そして、率直に言えば、これは10年以上前に行われるべきことでした。
