次世代エクサ・スケール・オペレーティングシステムをこっそり覗き見
Nicole Hemsoth
世界中で開発され、構想されているエクサスケール・ソフトウェア・スタックには、幾つか散在した要素がある。そのジグソーの成果が集約されるところは、マシンへのパワーを供給する究極のオペレーティングシステムである。
今週、エネルギー省は、OSらしきものの輪郭図を明らかすることを支援するために975万ドルの投資を実施した。助成金は、プロトタイプのエクサスケール・オペレーティングシステムとそれに関連するランタイム・ソフトウェアの開発を目的としている複合機関プロジェクト(Pacific NorthwestとLawrence Livermore研究所のみならず他の大学を含む)のため、アルゴンヌ国立研究所に付与された。
より詳しく「Argo」エクサスケールOSの成果を理解するために、我々は、エクサスケール・コンピューティング技術研究所のArgoプロジェクトのチーフアーキテクトでディレクターのピート・ベックマンと話をした。私たちは電源管理、大規模並列性と異機種性、そして全体としての耐障害性のすべてにおいてOSレベルで対処することが出来るウルトラスケールマシンの機能性に期待している、とベックマンは述べている。
これらはよく判っていないことへの懸念ではなく、オペレーティングシステムでそれらを攻略することは一定の利益を与えうる、とベックマンは主張する。 例えば、コア制御およびワークロード・レベルで最適化された電力制御と管理機能は、細分化し、目的用途応じて構築され、さらにHPCに最適化されたOSにおいて可能となる。
電力関連以外では、チームは、大規模並行処理のための許容量、電源と障害管理のための階層的なフレームワーク、さらに加えてリソースマネージャとオプティマイザーがプラットフォームと通信し、制御することを可能とする”ビーコン”のメカニズムについても説明している。
ベックマンとチームは、「enclave」としてこの階層構造を記述しており、このモデルでは、OSは我々が伝統的に考える階層性よりも、実際さらに階層的である。 他の単語で言うならば、ArgoでノードレベルのOSを考えるのは容易なことであり、それはマシン上で横断的に実行されるグローバルOSでもある。これは、プラットフォーム中立なArgoのデザインと結合させることで、構造物を十分柔軟に変化させることができ、システムおよびワークロードの両方のレベルで扱いやすくなる。すべてなじみのLinux包装紙に詰められている。
上記のように、これら「enclaves」は、特定のサービスに専用リソース・セットとして定義され、自己監視および自律応答する機能を持つ。 アルゴンヌで説明するように「彼らは、ノードのシステム構成を形状変換でき、異なるノードへの電力配分、或は、あるノードから別のノードにデータもしくは計算処理を移動させることもできる。」 信頼性の面でenclavesは、「グローバルリスタートと他のenclavesによる細かなレベルの復旧機能をサポート」できるように障害に取り組んでいる。
Argoの認定Linuxコアは、よりダイナミックな、次世代アプリケーションのニーズを満たすように強化・変更されている。 これらのプロトタイプアプリケーション上での開発は進行中であり、ベックマンと分散チームは、共通HPCアプリケーションのホストへ投入し、Argoの能力テストを行う事を計画している。 繰り返すが、このすべてはLinux風となるが、手元の問題に焦点を絞ったHPCシェルで行われる。
但し書きとして、Linuxの実証的要素をテコとして、最重要な電力管理、同時実行性と耐障害性機能に注目し、そこに堅牢性を加えて構築することは良いアイディアのように思える。Linuxのそれ自体が引き続きTop500におけるOS市場において百獣の王的なシェア(昨日の報告によると断然96%)を謳歌し、その傾向が保持されているとしたのなら。
Linuxの役割の精錬化と再構築の詳細について、ベックマンは説明している。 Linuxは現在、そのリソースのバランスを考慮しながら公平に配分を行い、マルチユーザ、マルチ・プログラムの管理を遂行しているが、Argoのアプローチによって、リソースバランシング機能のいくつかを切り離して、部分部分でより磨きのかかったコードとなることだろう。 「我々は、これらの多くの構成要素を書き換え、コードの断片を高速化し、多くのユーザや多くのプログラムとのバランスに対処しようとしない特別に最適化したランタイムシステムを設計することができます。」
主旨は、チップの一部で基本的なLinuxカーネルを実行させること;制御システム、ブート、コマンドとインタフェース機能、デバッグ等。 しかし、ベックマンとしては「HPC部分のために、我々はチップ上にある特別なコンポーネントを特殊化して実装することができます。」と言っている。
その場合、Argo内部に隠蔽されている幾つかのミドルウェア部分がある。 ベックマンは、そのソフトウェアがOSへ接近してくるだろう、と言った。 そして、ちょうどそれが起こるように、多くのソフトウェアはチップと結びつけられる – いかにそれらが遠い未来(2020年が公正であるとしよう)の出来事に見えたとしても。これは、すべてアルゴンヌ国立研究所 – プロセッサやファイルシステム、ランタイム、メッセージパッシングと他のソフトウェアとの間で作用し、統合に取り組んできた主要な研究機関のひとつ – の領分である。 ベックマンは、ミドルウェアやOS、そしてもちろん、これら両方をプロセッサに搭載したモノの多くの行間を統合されることを期待している。
「既存のデザインから戦略を見極め、全体システムのアプローチを通じて、これらの複数のビューと対応するソフトウェア・コンポーネントを統合させること。我々はそれが、電力、並列性、メモリ階層および耐障害性等の主要なエクサスケールの挑戦課題に対応するために不可欠であると考えています。」とベックマンは述べた。
今の時点では、多数のグループが、特に電力のパズルの様々な課題に取り組んでいる。 これは、今後特に重要な問題である。 消費電力が常に懸念されたが、ベックマンは先にシステムを最適化することが現在のアプローチであり、「電源をオンにし、彼らが描くであろう何かを、描くものとして受け入れます。」と述べた。効率的なスーパークラスを作成するにスタックの内部で行われているほかの仕事に加えて、特定の計算の一部、あるいはマシンの部品のための電力の 「スマート」な利用を統制する際にオペレーティングシステムが行うべき役割がある。
