Barrelfish

Barrelfish

このOSは将来のヘテロジーニアスなメニイコア環境を見据えて、それに合致したOS構造の構築を目指しているようです。

The Multikernel: A new OS architecture for scalable multicore systems.

詳しくは上の論文を読んでほしいのですが、このOSはマルチカーネルモデルを選択し、コアごとに単独のカーネルを持ったOS nodeを要します。この用意されるOS nodeもしくはその複数のOS nodeがアプリケーションをホストし、OSノード間は非同期メッセージにて通信するようです。このためシングルカーネルモデルな今のたいていのOSに比べ、アプリケーション間の独立性がより確保され、全体としての堅牢性が増すであろうことが予想されるのと、ヘテロジーニアスなマルチプロセッサ(コア)環境において余計な切り替えや特別な命令実行なしにそれぞれのプロセッサに適したアプリケーションを実行しやすくなります。

デメリットとして考えられることはアプリケーション間の通信が非同期メッセージのみとなり、アプリケーション間でのデータ交換の効率性が悪くことが予想されるので、一つ一つのアプリケーションの完結度を高めた設計や実装が必要になってくるでしょう。

アプリケーションプラットフォームにおいてメニイコア対応というか、並列性の向上は実際には待ったなしのきわめて重要なテーマで、CLRやJava VMのような言語実行環境やOpen MPのようなプログラミングライブラリでの対応が第1段階で、次の段階がこのようなメニイコアに適合するオペレーティングシステムの登場による実行環境の最適化が次の第2段階、その次がその環境に適したプログラミング言語の登場(あるいは再発見)、デバッグやテストを含めた開発環境の提供だと思っていますが、確実に第2段階に行く準備がされているようです。

元ネタ:

マイクロソフトが研究中の分散OS「Barrelfish」、スナップショットを公開 - Publickey

コメントを残す