クラウドコンピューティングにまつわる話をつれづれなるままに。。。

2009年5月22日金曜日

羊の皮を被った狼

hyoshiokさんがクラウドについて書いていた。
クラウド時代の計算パラダイムがRDBMSが30年間研究開発していたACIDパラダイムからCAPパラダイムへ大きく舵を切ったという意味で面白い。ちょうどコンピュータアーキテクチャにおける、CISCパラダイムからRISCパラダイムへ変遷していったようなイメージと重なる。


CAP定理/BASEに関してはあちこちで書かれているのでここでは繰り返さないが、yohei-yさんのまとめが目に止まった。Eric Brewer教授は検索エンジン会社inktomiの創設者でもあるのだが、CAP定理/BASEの登場にはこのような背景があったのね。
AltaVista が DEC の Alpha サーバの性能を売りにした scale-up 的アプローチだったのに対し、inktomi は Scale-out 的アプローチを取ったのが(AltaVistaに対する)技術的な成功要因だったようだ。Brewer のスライドの写真を見ると、時期的にはどうやら Sun の UltraSparc II のクラスタを構築していたようだ。これはまさに僕がNAISTの自席で使っていたワークステーションだけれど、CPUが250MHzで640MBメモリを搭載していたと記憶している。
inktomiが取ったこのscale-out戦略ベースのアーキテクチャは今のWebの大規模分散システムの根源となるアーキテクチャとなっている。

クラウドは技術的に考えれば、並列分散コンピューティング技術である。その前に流行ったグリッドも同様で、技術的に両者を比較するのはあまり意味がないことのようにも思える。個人的には、クラウドの要素技術がデータセンタ(クラスタ)内の分散並列であるのに対して、グリッドは広域分散に寄っていというイメージを抱いているが、クラウドも広域分散にシフトするのは時間の問題だろう。

さて、並列分散というと、いわゆるHPC(ハイパフォーマンスコンピューティング)分野を思い浮かべる人がいるかもしれない。MPIとかOpenMPとかの世界で、(適切な喩えかわからないが)CAP定理/BASEではなくACID寄りの世界観を持つ。現時点でHPCユーザはクラウドなんて性能がでないから使えないと思っているだろうが、そんな前提はいつまで有効なのか実はわからない。HPCユーザは性能がでるのであれば、ベクトルマシンからPCクラスタ向けにコードを移植したように、クラウド向けに再チューニングしてくるだろう。余談だけど、MPIなんてそんなにスケールアウトしないでしょうと思ったら、RoadrunnerとかRangerといった何万コアの計算機で動いているという現実に驚く。

もちろんすべての問題がバカ並列(Embarrassingly Parallel)で解けるわけじゃない。一方、旧来のHPCは昔も今も(おそらく)将来もニッチな分野でなくならないだろう。興味があるのは、クラウドとHPCでおそらく独立に発展してきた技術が融合することで、何か新しい技術的発展や応用が生まれてくるんじゃないかということ。

バズワードだけど技術的に新しいことは何もないでしょうと思考停止してしまうのは危険で、たゆまぬ勉強が必要だよなと改めて思った。

P.S. しかしBloggerのエディタは性に合わない。やっぱりはてな日記のようなWiki記法がよいな。

0 件のコメント:

コメントを投稿