分散コンピューティングのレイヤー


まあ、普通のコンピュータはこうですよね

昔は分散OSとかが未来のあるべき姿だと思っていた。だから、こうなると思っていた。
アプリから見たときには完全に実行されるハードウェアを意識しないまま、使えてそれでいて全ての雑事を良きにはからってくれる未来が来るものだと。OSが見せるあらゆるリソースが位置独立でネットワーク透過になっているのが、正しい未来の姿であると。

今流行っているのは、OSより上のレイヤーで分散を実現するモデル。HadoopとかGoogleのMap/Reduceとかがこのモデル。OSは普通にLinuxでいいやんとなってしまった。今やPlan9を研究していた研究者がGoogleに入ってGoを作っているのだから、やはりOSで分散を実現するというのには無理があったという認識だろうか。
OSなんて古典的なもので十分役割を果すよね、モノリシックとかマイクロカーネルとかそんな議論も無駄と言っているようにも思える。
分散処理を担うにはOSでは荷が重かったというか、複雑になり過ぎたのかもしれないというのはある程度納得できる。

挙句のはてには仮想化の技術を使って、仮想化したハードウェア自体を物理的な場所から切り離して動かそうという流れに見える。
いやいや、これはさすがに酷いでしょ。中間レイヤーが大きすぎて無駄が多すぎるんじゃないか。牛刀割鶏すぎる。分散を実現するためだけにしてはやる事が大袈裟すぎる。OSレイヤーだけでやるには複雑すぎたというにしても、このモデルは無いだろう。
肝心の処理の分散というところは実現できていないように思う