仮想化道場
データセンターに導入される高密度サーバー「SeaMicro SM15000」
(2013/2/22 06:00)
一昨年から話題に上るMicroServerを提供しているのが、AMDに買収されたSeaMicroだ。今回は、SeaMicroが提供しているMicroServerのアーキテクチャや、どういった分野に導入されているのかを紹介していく。
AMDに買収されてもIntel製CPUベースのサーバーをリリースするSeaMicro
SeaMicroは、低消費電力のAtomプロセッサをベースにした高密度サーバー(SM10000シリーズなど)を提供していたが、その後、サーバー市場での注目度が上がったためか、2012年の春にAMDに買収された。
AMDといえば、CPU分野においてはIntelのライバルとして、サーバー向けではOpteronプロセッサを販売している。SeaMicroもAMDに買収されたことで、自社の高密度サーバー製品のCPUをすべてAMD製に変更するのでないかと考えられていた。
これについて、「SeaMicroのメンバーは、AMDに買収されたといっても、AMD製CPUに固執することはないと言っていました。エンドユーザーにとって、必要とされるサーバーを出していきたいと語っています」と話してくれたのは、SeaMicroサーバーを日本で扱っている代理店の1つ、ネットワンシステムズ ビジネス推進グループ ビジネス推進本部 第二製品企画部 クラウドチーム リーダーの山本浩司氏だ。
4種類のCPUから選択できるSM-15000シリーズ
実際に、SeaMicroの現行製品であるSM-15000シリーズでは、Atom N570、Xeon E3-1260L(Sandy Bridge)、Xeon E3-1265Lv2(Ivy Bridge)、AMD Opteron(2.0/2.3/2.8GHz 8コアPiledriver)など、4種類のCPUを使ったサーバーが販売されている。
SM-15000では、10UのラックにXeonやOpteronが64CPUが搭載できるようになっている。消費電力の小さなAtomにおいては、256CPUが搭載できる。
複数のCPUを混在させることはできない。出荷時において、単一モデルのCPUを最大数(Opteronなら64CPU)搭載しており、10Uシャーシ内部で32CPUをOpteron、残りの32CPUをXeon E3といった構成はできないのだ。
また、複数のサーバーカードをパーティショニングし、SeaMicroサーバー1台を論理的に複数に分割して利用することは、ハードウェアレベルではサポートされていない。
なお山本氏によれば、「AMDでは、64ビットのARMプロセッサの開発を進めていますので、SeaMicroサーバーでも非常に期待しています。リリースされれば、真っ先に採用した製品が登場するでしょう」とのこと。
ARMプロセッサの低消費電力性能、パフォーマンスは、多数のCPUを搭載できるSeaMicroサーバーにとってはぴったりだが、OSやミドルウェア層を含めてARMベースで用意する必要がある点が普及のネックになる。それでも山本氏は「このあたりの開発が進んでいると聞いているので、楽しみにしています」と話してくれた。
多数のサーバーカードから構成される
SeaMicroのサーバーは、CPUやメモリやネットワーク、ストレージが搭載されたサーバーカードを最小単位として構成されているのが特徴である。山本氏はこの点について、「SeaMicroのサーバーは、新書本ほどの大きさのカードにCPU、メモリと、仮想化されたネットワーク/ストレージインターフェイスが搭載されています。つまり、このカードが1つのサーバーなんです」と説明する。
個々のサーバーカードでは、高密度化と低消費電力化を実現するために、カード上からネットワークチップ、ストレージインターフェイス、BIOSチップなどを取り外し、SeaMicroが開発した専用ASICに置き換えている。これをSeaMicroでは、IOVT技術と称している。
1つのサーバーに同じサーバーカードが多数搭載されるため、個々のサーバーカードにネットワークチップやストレージなどを搭載していると、電力消費やコスト面から無駄になる。そこで、SeaMicroの専用ASICを搭載することで、これらのインターフェイスを仮想化しているわけだ。これによりサーバーカード1枚の消費電力は、CPUやメモリなどのCompute部分だけになるため、他社のサーバーよりも低消費電力化されている。
サーバーカード上には、SODIMMのメモリスロットが表裏で4スロット用意され、CPUによってメモリ容量は異なるが、サーバーカード1つあたり、Opteronは8~64GB、Xeon E3は8~32GB、Atomは4GBのメモリを搭載できる。
またサーバーカードには、ビデオインターフェイスも搭載されていない。したがって、個々のサーバーカードにアクセスする必要がある場合は、ネットワークを経由したリモート接続を利用する。OSのブートに関しては、仮想ネットワークを使ったPXEブートによって行うことになる。
仮想化されたネットワークとストレージ
ネットワークは、それぞれのサーバーカードでは仮想化されているが、10Uのラック内にネットワークユニットを搭載することで、16ポートの10Gigabit Ethernet(GbE)、あるいは64ポートの1GbEがSeaMicroサーバー外部に出力される。
またサーバーカード間は、1.2Tbps/秒のスピードを持つFreedom SuperCompute Fabric(以下、ファブリック)に、SeaMicroの専用ASICにより独自プロトコルに変換されたネットワークを介して接続されている(ちなみに、ファブリックはL2ネットワークスイッチの機能を持っている)。
ファブリックは、単なるバックプレーンではなく、サーバーカード(ノード)を二次元のループバスで接続し、サーバーカード間の遅延を小さくしている。専用ASICとファブリックは、サーバーカード間、ネットワークユニット間、ストレージユニット間のコネクションをインテリジェントに管理している。
「SeaMicroが採用しているFreedom SuperCompute Fabricは、昨年話題になったスーパーコンピュータ、『京』が採用しているノード間接続と似たアーキテクチャになっています。京はインターコネクトを六次元にしていますが、SeaMicroでは三次元となっています」(山本氏)。
【お詫びと訂正】
初出時、インターコネクトの次元数を誤って記載しておりましたが、正しくは上記のようになります。お詫びして訂正いたします。
また、サーバーカードのストレージインターフェイスも、専用ASICによりファブリックに接続されている。これにより、個々のサーバーカード上に物理ストレージがなくても、12Uのラック内部に共用デバイスとして用意されているディスクへアクセスできる。
サーバーカードから見ると、仮想的にEthernetやディスクが接続されているように見えるため、OSやハイパーバイザーなどはソフトウェアに一切変更なく利用できる。特別なドライバも必要ない。
「昨年発表されたSM15000シリーズは、Freedom Fabric Storageというものが用意されました。このストレージユニットは、Freedom SuperCompute Fabricを経由することで、システム内の全サーバーから認識され、共有することができます。高価なNASやSANを利用しなくても、安価なDAS(Direct Attached Storage)をJBODで構成した大容量ストレージを提供します」(山本氏)。
専用の管理ツールによる一括管理に対応
管理機能については、専用の管理ツールにより、BIOSのアップデートや設定変更などを一括管理できるようにしている。
用意されている管理ツールは、コマンドラインベースのものだ。GUIなどは、用意されていない。ただコマンド自体は、Ciscoがネットワーク製品で採用しているコマンドに似せてあるため、Cisco製品を利用したことがある管理者なら分かりやすいという。
また管理用のAPIとして、IPMI、SNMP、XEN XML APIなどがサポートされている。自社の管理ソフトやインテグレータの管理ソフトがこれらのAPIをサポートしていれば、簡単にGUIベースの管理システムを構築することができるだろう。
もう1つSeaMicroサーバーの特徴と言えるのが、使用されていないサーバーカードの機能を停止して、サーバー全体の消費電力を抑えるTIO技術を採用している点だ。
この技術を使えば、サーバーの負荷に応じて、必要なサーバーカードだけを動かすことで、システム全体の電源消費を最適化できる。既存のサーバーを組み合わせたシステムでは、ダイナミックにサーバーの電源をオフにする機能はないため、負荷が小さくても、ある程度電源を消費してしまう。SeaMicroサーバーでは、負荷に応じてサーバーカードの電源をオンにするため、電源効率が高いサーバーといえるだろう。
MicroServerはどの分野に使われるのか?
「SeaMicroサーバーがターゲットにしている分野は、MicroServerがターゲットにしている分野よりも、もう少し広いと思います。単なるWebのフロントサーバーだけでなく、もう少し広い用途に使えるでしょう。これは、低消費電力のXeon E3やOpteronのようなCPUを採用できるため、Atomなどで構成されたMicroServerとは比較にならないほど性能がアップしています。とはいっても、通常の2ソケットなどのサーバーほどの性能はないため、導入する側も何でもできるサーバーではなく、ある程度機能を限定したサーバーとして割り切って使う必要があると思います」(山本氏)。
例えば米国では、インターネットの結婚情報サイトのeHarmonyで採用されている。eHarmonyでは、登録されたユーザーのマッチングを行うためにデータ計算にHadoopを利用している。このHadoopやMemcachedの動作プラットフォームとしてSeaMicroサーバーが利用されている。
また、オープンソースのブラウザの開発元として有名なMozilla Foundation(以下、Mozilla)では、Webのフロントサーバー(Apache)やPHPの動作プラットフォームとして、SeaMicroサーバーを採用している。
ネットワンの山本氏によれば、昨年から日本国内での引き合いが活発になっているようだ。多くの企業において、こうした事例と同じように、Web系やHadoop、memcached、Flumeなどの分散処理システムの動作基盤として採用が検討されている。
採用を検討している企業としては、クラウドなど運営しているプロバイダーやインターネット関連企業だけでなく、金融や製造なども含めた、幅広い業種の企業で注目されているようだ。
SeaMicroのSM15000シリーズは、最小構成で2000万円から(フル構成で4000万円ほど)と高額な製品だ。さらに、どのような用途にでもマッチするサーバーというわけでもない。しかし、10Uシャーシに64CPU(Atomの場合は256CPU)を搭載し、消費電力が3.2KWという小ささは、既存のサーバーでは実現できない性能だろう。
消費電力が上昇すると単に電気代が増えるだけでなく、サーバーを設置するデータセンターやサーバールームのクーリングにもかかわってくる。サーバーの消費電力がアップすれば、それだけ冷却にも電力がかかるため、データセンター全体では膨大な電力消費量となるからだ
これに対してSeaMicroのようなシステムは、コンパクトでありながら、消費電力も低くなっている。導入する側も割り切りを必要とするシステムだが、特定の用途での採用が増えてくるだろう。