クラウドOS

Google Moderatorには、Googleのエンジニアが質問に答えるAsk a Google engineerというページがある。ここでLinuxのAndrew MortonやPythonGuido van Rossumと一緒に、UNIXPlan9の開発者として有名なKen Thompsonが質問に答えている。将来のOS像についても軽く触れていて興味深い。詳細は実際に目を通してもらいたいが、いくつか抜き出してみる。

まずは、時間をさかのぼることができたらUNIXの何を直したいかという質問から。creat「e」とお約束の答えをした後に、

  1. ポータビリティ
  2. イーサネットとIPよりもよい通信
  3. プロセスごとの名前空間
  4. ファイルシステムへのリモートアクセスプロトコル

を挙げている。1、3、4はPlan9で実現されている。2はどんなものを想定しているんだろう?Plan9にもILがあったが、成功したとは言えなそうだな(ILはL4プロトコルだから2には該当しないか)。

続いて、Plan9を再設計できたとしたらという質問に対しては、数多くのPlan9システムを緩やかに接続して、巨大で信頼性のあるシングルシステムイメージで動作するOS(今風で呼ぶと「クラウドOS」)を作りたいそうな。おそらくこのようなフレームワークの基盤にはLinuxよりもPlan9が向いていると考えているのだろう。そう考えると、Plan9が当初からターミナル、CPUサーバ、ファイルサーバと分離された設計になっていたのは、時代を先取りしていたのかもしれない。今で言うとWebブラウザAmazon EC2、S3とでもなるか。(クラウド自体がメインフレーム時代への逆行と言う捉え方もあろうし)ちょっと言い過ぎか。9fansでもこのインタビューについての議論が盛り上がっているが、この観点からのPlan9の技術的な問題点は、ネットワーク上の資源を静的に設定しなけばいけない点にある(/lib/ndbにハードコードされている)。クラウドが要求する動的性を、OSに実装していくというのは面白いテーマかもしれない。

とにかくクラウドコンピューティングに関してはかなり肯定的に考えているようだ。今後10年で開発が必要な技術としても、このようなクラスタリング技術、言うなれば「ディペンダブルなクラウドOS」みたいなことを挙げている。そしてPaxos(要は多数決プロトコル)ライクな分散データベースが基礎になるのではとも。

Ken Thompson自身はすでにネイティブのPlan9ではなく、LinuxMacOS上からPlan9portを使っているそうだ。その他にはAndroidに関する質問もいくつかある。

最後に、ベル研が恋しくないかという問いには、きっぱり「まったくない」と答えている。70年代のことは思い返すこともあるようだけど。