- Programmability --- コンピュータ言語を使って動作を記述できること
- Virtualization --- 物理的なリソースに捉われない抽象化
- Central Control --- 集中制御
Openflowはこれらの,各々は従来からあった概念を一つにまとめることにより,これまでのネットワークに対する新しい技術として,注目をあびることになった.何となく新しいものを求めていた人々が一気にここぞと群がる構図,そして,一見わかりやすいが本質を間違った解説の氾濫は,どうにもかたはらいたい感じがするけれど,エコシステムはこのようにして生成される,という側面もあるのだろう.(どんなに技術が優秀でも,エコシステムができないために普及しない,というものは山ほどあるので.)
ところで,ProgrammabilityとVirtualizationは,コンピューティング高度化に伴う,ネットワーク進化の自然な方向に思える(特にProgrammabilityについては,大分前からできるのに,運用慣習的に,今まであまりやらなかっただけだ).しかしCentral Controlは,どうも私はあまり好きではない.集中制御に対する自律分散制御のよいところは,ボトルネックのないスケーラビリティ,障害時の自動回復,状況に対応する弾力性,などであるが,何といっても,「知が偏在する」,というシステムのあり方自体が好きだ.全知全能の神はいなくても,それぞれが限定合理性(*)の中で持ち場を果たすことにより,システム全体が機能し,さらに成長進化する.
現在なぜCentral Controlが見直されているか,というと,Virtualizationとの組合せによりScale outさせることができるため,Single Point of Bottleneckを克服できるようになったからだと思う.しかし根源的問いとして,「全知全能性」を達成できるのか,という問題が残る.
勿論,データマイニングによる統計の高度化は言を俟たない.これまでの,局所的な専門知識や技のようなものは,どんどん凌駕されて行くだろう.ネットワークのパス計算や決定も,統計的に最も合理的な判断により,集中的に行いたい,という要望が出てくるであろうことは理解できる.しかし,それでも,解けない問題はあるし(NP-Complete, NP-Hard),当然間違えることもある.また,現実の実装を考えると,最適性よりも即応性が求められる場合もある.
なので,集中制御を導入した場合も,Last resortとしての自律分散は残す,というハイブリッドアプローチが求められると思う.(で,その場合は,「ネットワーク機器に機能はいらない→コモディティで価格破壊...」,ということにはなりませんよ.残念ながら:))
(*) オリジナルはH.Simonだが,ここではStanford福田先生の論文を掲げたい.
http://www.panda.sys.t.u-tokyo.ac.jp/ohsawa/SysInPDF/002-Fukuda.pdf
なにとなくデジャヴ感があったので。
MIT AI Lab (現 CSAIL) 所長になった Rodney Brooks が 25年くらい前に出した旧来の AI に対するアンチテーゼとして、"subsumption architecture" というロボットのアーキテクチャがあります。昆虫の動作を参考にしたと本人は言っていたような。
これにおいては、ロボットの動作が単機能・限定合理的な振る舞いにモジュール化されています。各モジュールは基本勝手に動いています。モジュール達が自律分散。
そして、各モジュールは、一つレイヤーの高いモジュール(これも単機能・限定合理的)とやりとりもします。
モジュールのレイヤーが高いほど、対象とする判断・処理が抽象的になります。
例えば、下位層のモジュールでは「衝突回避」、中位層では「へやを巡回する」、高位層では「部屋の中を掃除する」とか。
各モジュールは全てのセンサ・アクチュエータにアクセスでき、命令が衝突することもあります。
これらモジュールの総体を subsumption architecture と呼び、旧来からの AI の研究者に対して「こんな単純なアーキテクチャでロボットちゃんと動くんだぜよ」と言っておりました。
当時は Genghis というムカデ型ロボットで遊んでいましたが、知らない間に進化してて、ルンバや爆弾処理ロボット、火星探査ローバーになっているらしいです。ロボット総体が自律分散。
投稿情報: cretan | 2012.02.12 22:27
ただ、自律分散制御でもボトルネックのないスケーラビリティ
が提供できるとも思えません。
H.Simon は本はありますが読み切れない、眠くなるので……
投稿情報: cretan | 2012.02.12 22:36
ただ,分散制御 vs 集中制御という対立概念にしてしまうとmis-leadingですね.Openflowは確かに集中制御なのですが,Martin Casadoは分散制御と集中制御の適用領域が異なることを明確にしていました.
http://openvswitch.org/papers/hotnets2009.pdf
投稿情報: Miya | 2012.02.19 22:27