仮想化道場
ハイパースケールアウトコンピューティングを実現するHP Moonshot、その用途は?
(2013/11/8 06:00)
2013年の4月末に発表された日本HPの「Moonshot」は、低消費電力のプロセッサを多数搭載して、今までとは異なるコンピューティングパワーを提供していこうというモノだ。4月に発表された段階では、4.3Uサイズのシャーシに、45基のサーバー向けAtom S1200が搭載できるサーバーユニットだった。
秋になり、Intel Atom C2000、AMD Opteron X、TI C66(ARM Cortex-A15コア+TI DSP)など、次のプロセッサカートリッジが提供されることが明らかになった。正式な発表は、年末から2014年年頭になるようだ。これにより、プロセッサカートリッジだけでなく、各プロセッサユニットを接続するネットワークスイッチのパフォーマンス増強など、内部が大きく変わる。
今回は、先日、東京・渋谷で開催された「HP Scale-Out Solution Day 2013セミナー」の発表をもとに、Moonshotがどのように発展していくのかを分析していこう。
Moonshotが本格的に普及するのは2014年
HPではMoonshotを2013年に発表したが、本格的に普及するのは2014年になると予測している。これは、Moonshotのプロセッサがこの秋、大きく変わったからだ。
前述したように、当初のMoonshotではAtom S1200というプロセッサが採用されていた。Atom S1200シリーズは、2012年のWindows 8タブレットなどで採用されているAtom Z2760シリーズ(開発コード名:Clover Trail)をベースにしている(製造プロセスは32nm)。
ただしAtom S1200シリーズは、低消費電力ではあるものの、2012年に発売されたAtomベースのWindows 8タブレットが非常に非力だったことを考えれば、サーバー分野でのパフォーマンス面も、満足のいくものではなかった。
しかし2013年の秋になり、Atom C2000というAtom S1200の後継プロセッサが登場したことで、状況が変わろうとしている。同シリーズで採用されたSilvermont(開発コード名)コアは、以前のSaltwell(同)コアとはマイクロアーキテクチャデザインを一新。アウトオブオーダー型のプロセッサに変更し、ある程度のパフォーマンスが出せるようになっている。
セミナーで展示されたMoonshot向けのAtom C2000プロセッサ カートリッジは、1枚のカートリッジにプロセッサを2つ搭載し、HDDを2台搭載したものだった(残念なのは写真撮影が不可だったことだ)。つまり、Moonshot1台にAtom C2000が90ソケット搭載されたサーバーとなる。Atom C2000にはCPUコアが6個入っているため、1台のMoonshotで540コアのサーバーが実現する。
AMDのOpteron Xは、5月に発表したモバイル向けのプロセッサ(Kabini)を利用したサーバー向けプロセッサだ。ソニーのPS4やマイクロソフトのXbox Oneなどには、Kabiniをベースにしたスペシャル プロセッサが採用されている。
Opteron Xは、APU(CPU+GPU)のX2150(11W)とCPUだけのX1150(9W)の3つのプロセッサが用意されている。X2150とX1150は、ハード的には同じもので、X1150はX2150のGPU部分が動作しないようになっているだけだ。ちなみに、APUのX2150は、CPUコアとしてKabiniが4コア搭載され、GPUとしては128個のRadeon HD 8000コアを搭載している。
セミナーで展示されていたMoonshotのプロセッサ カートリッジには、Opteron Xが4ソケット搭載されていた。このため、Opteron XのMoonshotは、180ソケットで720CPUコアのサーバーが実現する。
Moonshotに搭載されたTIのC66プロセッサは、IntelやAMDとは少し異なる方向を向いている。C66AKプロセッサは、32ビットのARMプロセッサコア Cortex A15が4コア、TIのDSPコア(C66x)を8つ搭載したSoCだ。
Moonshotのプロセッサカートリッジ上には、TIのC66AKプロセッサが4ソケット搭載されている。このため、180ソケットで720CPUコア+1440DSPコアというサーバーが実現する。
用途によってプロセッサカートリッジを替えるMoonshot
では、具体的にはどういった用途で利用されるのか。
HPでは、Moonshotを汎用のサーバーとは考えていないようだ。用途によって、プロセッサカートリッジを変更して、特定用途に向けた高密度で低消費電力サーバーを提供していこうと考えている。
このようなコンセプトが最もわかるのが、TIのC66AKプロセッサを採用したMoonshotだろう。C66AKはARM Cortex A15コアとTIのDSPコアを搭載している。このため、用途としては、携帯電話のキャリアなどが利用する基地局のベースステーションに向いているという。
携帯電話のデータ通信の高速化により、基地局が使用するサーバーの高性能化が必須になっている。現在多くのキャリアでは、キャリアグレードのATCA(Advanced Telecom Computing Architecture)というサーバーを使用しているが、ATCAは高密度サーバーにはなっていない。このため、プロセッサのソケット数を見れば、Moonshotの方がATCAよりも高密度化されている。
このようなキャリアグレードのサーバーにMoonshotはぴったりなソリューションだ。特に、TIのC66AKを採用したシステムでは、高いプロセッサ性能とDSP性能を利用して、省スペースでありながら高いトラフィック性能を持つサーバーが実現するだろう。
Opteron Xを使用したシステムは、VDI用途に向いている。APUであるOpteron Xには、GPUとしてAMDのRadeon HD8000コアを搭載しているため、省電力システムとしては高いGPU性能を有しているからだ。
VDIといえば、ハイパーバイザーにより高い性能プロセッサを仮想化して利用するということを考えるが、MoonshotのVDIは少し方向性が異なる。ハイパーバイザーは管理面などから利用されるが、1つのOpteron Xに1つのOSを搭載することになるだろう。GPUに関しては、仮想化するのではなく、パススルーでGPUの機能をそのままVDIで利用できるようになるのではないか。
高性能プロセッサを仮想化した時のように、ハードウェアの使用効率を上げるという面では無駄が出るが、低コストで低消費電力のプロセッサを多数利用するVDIシステムでは、無駄が出ても大きな問題にはならない。スペース的にも、Moonshotなどを利用した方が、同じ4.3Uシャーシで多数のVDIユーザーがサポートできる。
AMDでは、Opteron XベースのMoonshotをクラウドゲーミングのサーバー、3Dのレンダリングサーバーなどとして利用できるのではと語っている。特に、CPU+GPUのAPUにより、大量のイメージデータから特定の人間を認識する顔認識システムなどに利用できるとしている。
Intel Atom C2000を使用したプロセッサモジュールは、最も汎用的なサーバーといえるだろう。HPでは、Webサーバーのフロントエンドだけでなく、ビッグデータの解析などに利用するため、Hadoopを動かすビッグデータ向けサーバーとしても導入が始まっているとしている。
HPでは、Moonshotを利用することで、同社のほかのx86サーバーを利用するよりも、システム全体のコストが低下するとしている。確かに、AtomやOpteron Xなど、プロセッサのパフォーマンスは低いが、これだけの省スペースに多数のプロセッサが搭載できるため、同じだけのパフォーマンスを他のx86サーバーで実現するより、コストが1/10ほどになるのだという。
Webフロントエンドの用途としては、HP.comのキャッシュ/プロキシーサーバーとしてすでに導入されており、同サイトの12%のブラウジングを処理している。また将来の計画としては、HPが提供しているFTPサーバー(現在46サーバー)を6台のMoonshotに集約する予定だ。
このほか、それぞれのプロセッサに多数のメモリを搭載することで、memcachedサーバーとして利用したり、インメモリーDBサーバーとして利用したり、といった使い方が計画されている。
Moonshotの問題点はOSにあり
Moonshotのようなハイパースケールアウトサーバーでは、ハードウェアのコストよりもOSやアプリケーションなどのソフトウェアコストが問題になってくる。
Windows ServerやRed Hat Enterprise Linuxなどは、CPUソケットごとにライセンス料を請求している。このため、性能が低いプロセッサを多数搭載したハイパースケールアウト型のサーバーでは、OSのライセンスコストが大きくのしかかる。
さらに、データベースなどはプロセッサコアライセンスになっているため、Moonshotで商用データベースを利用するには、あまりにもコストがかかりすぎる。ハードウェアコストをソフトウェアコストが上回ってしまうこともあるだろう。
そこでHPでは、MoonshotのOSやアプリケーションとしてオープンソースソフトウェア(OSS)を薦めている。実際、MoonshotのOSとしては、Canonical Ubuntu ServerをHPが取り扱っている。
Ubuntuは、プロセッサライセンスのサブスクリプションモデルを採用していないため、Moonshotで利用する場合、低コストで利用できる。
また、スケールアウトサーバーでOSやアプリケーションをデプロイする時に利用できるJujuというツールや、システムを管理するために利用するLandscapeという管理ツールを用意している。
この他、仮想化ではなく、ベアメタル(物理環境)でサービスを提供するためのフレームワークMAAS(Metal as a Service)などが提供されている。
HPでも、Ubuntu側でハイパースケールアウトに向けたOSのライセンス体系、ツール類を提供していることを高く評価して、Moonshotでの採用を行ったのだろう。
ただ、将来的にMoonshotなどのハイパースケールアウト型サーバーが各社からリリースされてくれば、ハイパースケールアウト型サーバーに向けた特別なOSのサブスクリプションが用意される可能性もある。
こうなると大きな問題になるのが、Windows OSだろう。サーバーなどの用途ならLinuxでもいいが、VDIなどを考えるとクライアントOSとなるWindows OSのライセンス料が大きくかさむ。
もっとも、スケールアウト型サーバーが一般的になれば、Windows Server自体も大きく変化してくる可能性がある。UI部分を持たない、Server CoreのようなOSと数百、数千のServer Coreをコントロールする管理OSなどに分かれてくるかもしれない。
OSがこのように変化すると、データベースなどのシステムに近いアプリケーションも変わっていく可能性もあるだろう。
それでも当面の間は(ここ5年ほどは)、このような動きは少ないといえる。このためMoonshotを使うには、OSSが中心となるだろう。こういったことを考えれば、Moonshotは単なるハードウェアとして売るのではなく、HPとそのパートナーのソリューションを購入するといったことになるのだろう。またソリューション志向ということでは、特定のソリューションにマッチしたプロセッサモジュールを開発していくことが考えられている。