メニューボタン
IBMi海外記事2021.01.13

Frank Soltis博士が単一レベル記憶の未来を語る

Alex Woodie 著

単一レベル記憶は、IBM i サーバーおよびその前身のビジネス マシンの基礎となっているアーキテクチャーが持つ特性の中でも、最も特有かつ注目せずにいられないものの1つです。けれども、巨大なスーパーコンピューターやディープ ラーニング システムで動作する場合は、どのようになるのでしょうか。先週、COMMON Europeのバーチャル イベントで講演を行ったFrank Soltis氏によれば、それは検討がなされていることなのだそうです。

Frank Soltis博士は、言うまでもなく、IBMミッドレンジ ラインの歴史の中で非常に尊敬を集めている人物です。Frank博士は、1978年に発表され、知ってのとおり1988年にAS/400へと姿を変えたS/38マシンにおいて、単一レベル記憶メモリー アーキテクチャーの開発を主導した、ミネソタ州ロチェスターのIBMラボのチームの一員でした。Soltis氏は第一線から退いていますが、いつまでもAS/400の父と称されることとなるはずです。

COMMON Europe は、先週のCOMMON Europe Congress(vCEC 2020)バーチャル イベントにSoltis氏を招いて講演を依頼しました。そこでSoltis氏がテーマに選んだのは単一レベル記憶の歴史についてでした。それは、もちろん、メモリーと回転ディスクを継ぎ目なく1つのものに融合するシステムに他なりません。単一レベル記憶は、多くの点で、喜びを与え続けてくれるIBM i の贈り物であり、そして他の何よりも、世にある他のすべてのシステムとIBM i サーバーを差別化しているものです。

1969年、IBM入社後の、若きシステム アーキテクトのSoltis氏に与えられた最初の任務は、System/3Xラインの次のバージョンに向けての設計を考案することでした。vCECの視聴者に話したように、仮想記憶を使用した最初のIBMシステムであるSystem/360 Model 67でIBMが採用していた仮想記憶アプローチや、それに先行する他のアプローチについて、Soltis氏はあまり快く思っていなかったそうです。

そうした古いメインフレームで仮想記憶を採用したからこそ、トランザクションを処理することが可能になったわけで、それが仮想記憶を採用したそもそもの理由でしたが、Soltis氏は実装に伴う複雑性が気にならなかったため、System/38を別の方向へ導くこととしたようです。

「何年も前、学生の頃に、私はIBMを含めてこの業界がどのように仮想記憶を実装してきたかについて研究していました。そして、彼らのやり方は間違ったやり方だった、というのが私の中での基本的な結論でした」とSoltis氏は述べています。

単一レベル記憶
単一レベル記憶は、S/38以降のIBMミッドレンジ サーバー ラインにとって不可欠な要素となっています(画像提供: Bob Losey/Source-Data Products)。

「メモリー全体、ストレージ全体の一部を取って、よし、この小さな部分を仮想化しようと言うのではなく、何らかのタイプのファイル システムを用意します。それは、アドレス指定のやり方がまったく異なります。そして、そうしたファイル システムから仮想記憶へ、そして仮想記憶からメモリーへ、キャッシュへ、そして最終的にプロセッサーへと移動して行きます。これが間違いです。」

もっと単純でもっと良いやり方は、非常に大きな1つのメモリーのプールを持つことだとSoltis氏は述べます。「そうなると、そのようなメモリーは一定の特性を備えることが必要になりました」と彼は続けます。「それはバイトアドレス指定が可能でなければなりませんでした。なぜなら、プロセッサーからのバイト アドレッシングが、メモリー内の任意のバイトを直接アドレス指定できるようにしたかったからです。また、それは不揮発性である必要もありました。」

システム内でのビットの流れを開放して、核心であるリアルタイムの対話式トランザクション処理を可能にするためには、メモリー システムは、より適応性が高く、複数のユーザーおよび複数のタスクをよりうまく処理できる必要がありました。メインフレームの仮想記憶アプローチでは、あるユーザーから別のユーザーへ切り替えるのに1,000個の命令が必要でした。

「今日にしてみれば、1,000個の命令はものすごい数です。けれども、そのものすごい数を行わなければならなかったのです」とSoltis氏は述べます。「System/38、AS/400、またはIBM i なら、1個の命令で済みます。そうした巨大なストレージ内のロケーションへブランチして、命令の実行を開始するだけです。それがブランチです。業界最速です。」

そうした単純なブランチ手法は、理論的にメモリーをより高速な処理に解放することができた反面、潜在的なセキュリティ リスクも高めることになったとSoltis氏は述べます。特定のアドレスの命令を指示するだけでよかったとしたら、悪意のユーザーまたはマルウェアがそのスペースにアクセスするのを防ぐためにはどうするのでしょうか。

単一レベル記憶
Frank Soltis氏は、2008年にIBMのチーフ サイエンティストの職を退いています。

それに対抗するために、Soltis氏と彼のチームは、オブジェクト ベースのオペレーティング システムを設計しました。「システム内のあらゆるものがオブジェクトにパッケージされている理由は、そこにあります。単一レベル記憶に格納するためには、ある程度の保護が必要であるため、オブジェクト、オブジェクトとポインターの範囲内で保護しています」と彼は述べています。「ポインターはアドレスを保持しています。ポインターは権限を保持しています。まさにそのオブジェクトを使って行えることであり、それを使って行うことが許可されていることです。」

以上が、IBM i サーバーにおける単一レベル記憶についての裏話のようなものです。しかし、今日、それがどうして重要とされるのでしょうか。どうやら、次世代のスーパーコンピューターおよびAIシステムを開発している今日の超一流の技術者の何人かが、彼の単一レベル記憶へのアプローチについて、そして40年以上も前にどのようにしてこのアイデアを思い付いたかについて尋ねるべく、Soltis氏にコンタクトを取ってきたということのようです。

「私は、世界中の技術者やコンピューター関係者と頻繁に連絡を取り合っており、彼らがどのようなことに取り組んでいるか、何に注目しているかについて目を配っています」と彼は述べます。「18か月ほど前からでしょうか、どうして小型のビジネス コンピューターに単一レベル記憶を導入したのかと尋ねる電話が掛かってくるようになりました。」

Soltis氏と彼のチームにとって、System/38は小型ではありませんでした。確かに、場所を取る当時の最も大きなコンピューターの隣に並べれば小型かもしれません。あるいは、やはり場所を取る今日の最も大きなコンピューターと比べてもそうなるでしょう。しかし、当時、ロチェスター製では一番大型のシステムだったのです。

「やはり、私の答えはいつも同じです。対話型処理向けのシステムを設計したかったからです」とSoltis氏は述べます。

こうした電話に刺激を受け、Soltis氏は、以前に自身が記した、単一レベル記憶について解説したいくつかの技術論文をかき集めたそうです(ちなみに、単一レベル記憶は彼の博士論文のテーマでした)。彼は数え切れないほど多くの技術論文を記しており、彼の名義の特許も25件を数えます。しかし、それは何年も前の話であるため、Soltis氏を訪ね、単一レベル記憶関連のIBMの特許について調べていた政府のスーパーコンピューター ラボ、大学、および独立系リサーチ ラボの技術者たちの力になるためには、いくつかの細かな事柄について少し見直しが必要だと考えたようです。

「単一レベル記憶の特許はIBMが保有しています。特許を調べてみれば、それらはIBMに属していますが、私の名義のものもいくつかあります」と彼は述べます。「以前に講演を行ったいくつかの技術カンファレンスの資料や、System/38発表後に記したいくつかの技術論文を引っ張り出してきて、この件に関して自分が実際にどのようなことを述べていたかについて見直しを始めたというのが正直なところです。」

他にも、単一レベル記憶のような仮想記憶システムを作成しようとする試みはありました。ユニバーサル ストレージと呼ぶ人もいれば、ユニバーサル アドレサビリティと呼ぶ人もいます。 Intel は、同社のOptaneテクノロジーで同じような取り組みを行っているようですが、あまり盛り上がりを示しているようではなさそうであり、また、コンピューティングを変えるとした約束を果たせているようでもなさそうです。 Hewlett Packard Enterprise は、Soltis氏が触れているように、The Machineへの取り組みから派生した同社のGen-Zプロトコルとともに、メモリスタの研究を続けているようです。しかし、それは、ちょうど商用核融合炉と同じように、常に数年先の技術のように思われます。

いずれにしても、新たなディープ ラーニング技術(今日、一般にはAIと呼ばれているもの)を活用する新たなデータ集約型ワークロードに加えて、従来のシミュレーションおよびモデリング ワークロードも稼働するように次世代のスーパーコンピューターを設計しているアーキテクトは、高速なCPUにデータが供給され続けるという長年のコンピューター サイエンスの問題に取り組むための斬新なアプローチを模索しています。そして、このことこそが、Soltis氏の元へ、そして彼がはるか昔にSystem/38に向けて開発に尽力した単一レベル記憶アプローチへと彼らを導くこととなったというわけです。

「要は、彼らが検討している設計が単一レベル記憶だということです」とSoltis氏は述べます。「そのことは、私にとってはまったく驚きではありませんでした。単一レベル記憶の利点そのものだからです。私が驚いたのは、この機能がどのようなものであるかということに、世界が気付くのに40年もかかったことのほうでした。」

あわせて読みたい記事

PAGE TOP