サーバはデータセンターの中を液体のように流れるような存在になる、という仮説
先日、あるIT関係の集まりで、大手ネットワーク機器ベンダの偉い人がこんな話をしてくれました「最新のイーサネットは、サーバの内部バス並のスピードで通信ができる。これはすごいことだよね」と。
いま市場では10ギガビットーサネットが普及し始めているところですが、すでにその次の世代のイーサネットとして40ギガビットイーサネットと100ギガビットーサネットも昨年、IEEEによって標準化されており、まだ非常に高価ですが製品が登場し始めています。
その話を聞く少し前、僕は別の大手システムベンダの偉い人のこんな話を聞いていました。「これから2年もしないうちにサーバの形が大きく変わっていく。すごく面白くなるはずだ」と。
この2つの話はつながっているように思えました。
サーバは液体のように流動的で論理的な存在に
クラスタを構成するネットワークが内部バス並みに高速になれば、あるサーバの負荷が高まってきたときには隣のサーバのメモリを借りたり、隣のサーバのCPUコアに処理を投げたりすることが、処理速度を犠牲にせずに実現できそうです(すでに高速なクラスタではRDMA(Remote Direct Memory Access)も珍しくないようですし)。
例えば、サーバAのCPUコア2つとサーバBのCPUコア3つが連係し、サーバCのメモリ20GBとサーバDのメモリ10GBを組み合わせて処理を行っている、ということだってありえるでしょう。CPU負荷が上がればさらに他のマシンからコアを借りてきたり、逆にCPU負荷は小さいけれどメモリがたくさん必要なときには周りのマシンからかき集めてくる。アイドル状態のときにはコアもメモリも最小限まで縮退してすみっこのサーバに集まるとか、スワップアウトして冬眠する、みたいなこともあるかもしれません(縮退は現在の仮想サーバでもできますね)。
そうなると、サーバ、あるいは処理を行うひとかたまりのインスタンスと呼ばれる存在は筐体から自由になって、高速なネットワークで接続された複数の筐体の中を、まるで液体のように流動的に大きさや形を変えられるような論理的な存在になるといえそうです。
イーサネットの進化によってデータセンター内のネットワークトポロジがメッシュのようになり、サーバ間がネットワーク的に等距離になっていくことも、この方向性を後押ししていくのでしょう。
群体としてのサーバに向かう
昨年、「サーバは「単体」から「群体」へと進化中」という記事を書いたときから、これからのサーバの進化は単体として高性能化するのではなく、大きなクラスタやデータセンターを構成する部品の1つとしての最適化が進むだろうと考えていました。
そのときはまだ、それがどのようなものになるのか具体的な想像ができなかったのですが、CPUのマルチコア化、イーサネットの進化、ガートナーらが提唱するファブリックネットワークなどをPublickeyでこれまで取り上げてきたことで、少しずつ仮説を組み立てられるようになってきました。
- マイクロプロセッサはこの先どのように進化するのか?
- さよなら、僕が知っていたイーサネット
- ネットワーク機器はサーバ上の仮想機器(アプライアンス)、ネットワークはファブリックベースになる。ガートナーの予想
- メインフレームモデルがコモディティ化へ向かっている。Amazonクラウドの役員がデータセンターのイノベーションを解説
さらにプロセッサのコアがヘテロ化していくと、整数演算、浮動小数点演算、暗号化、エンコード/デコードなど、コアが得意な処理によって組み合わせと数が動的に変化していく、なんてこともありそうですね。