汎用のコンピュータ・サーバからCPU処理の機能を独立させる--。CPUとメモリをアプライアンスの形態にまとめ上げ、既存のアプリケーション・サーバから適時利用できるようにした専用機が、ハードウェア・ベンチャーの米Azul Systemsが開発した「Azul Compute Appliance」である。複数のシステムが余剰CPU能力を共有することで、キャパシティ・プランニングの考え方が変わる。
同社は2004年秋に、CPU処理能力をサーバから独立させるNAP(Network Attached Processor)のアイディアとコンセプトを公開し、NAPを実装したAzul Compute Applianceのフィールド試験を開始した。ユーザーによる実証実験を経てコスト削減の効果を検証してもらい、市場に出荷する段取りとなった。国内では、以下の3社、伊藤忠テクノサイエンス、日商エレクトロニクス、住商エレクトロニクスが4月から受注を始める。国内価格はドル換算で13万ドルから。
CPUを共有して余剰CPUを減らす
従来、個々の情報システムのCPU処理能力は独立していた。一般的に、ある業務システムは、ピーク時の負荷を見越してサイジングを施す。このため、平均的なCPU稼働率は、例えばピーク時の70%といった具合に、CPU処理能力が無駄になっている。複数の業務システムが稼働する場合は、複数ある個々の業務システムごとに余剰のCPU処理能力を抱える必要があった。
- 写真中央が、米Azul Systems 代表取締役兼最高経営責任者のステファン・ドゥイット(Stephen W.DeWitt)氏。写真左は、同社シニアディレクター ビジネス開発の北島弘氏。写真右は、同社のテクノロジ担当副社長兼最高技術責任者兼共同出資者のGil Tene氏
ところが、複数のシステムが同じ時期に負荷のピークを迎えるとは限らない。ある時期にある業務システムに割り当てたCPU処理能力を、別の時期には別の業務システムに割り当てられれば、つまり余剰CPUを複数システムで共有できれば、全体で用意しなければならない余剰CPUを減らすことが可能になる。キャパシティ・プランニングの考え方が変わるというのは、こういう意味である。NAPのコンセプトは、こうしたCPU処理能力の共有化を目指すものだ。
NAPは、祖結合クラスタリングによって負荷を分散するスケールアウトとも、密結合で単体サーバの処理能力を高めるスケールアップとも位置付けが異なる。個々の業務システムで利用するアプリケーション・サーバのCPU処理能力を固定化しておき、アプリケーション・サーバの処理を適宜、Azul Compute Applianceに割り振って実行させる。Azul Compute ApplianceはCPU処理能力のプールである。アプリケーション・サーバが、必要とする分だけプールされたCPU処理能力を利用する。
NAPの出荷は必然だったと、米Azul Systemsの社長兼CEOであるステファン・ドゥイット(Stephen W.DeWitt)氏は語る。「ネットワークとストレージの世界で起こった革命とまったく同じことなのだ。1980年代、米Cisco Systemsはサーバからネットワーク機能を独立させてルーティング・アプライアンス(ルータ)を製品化した。1990年代には、サーバからファイルサーバ専用機が独立した(NAS)。この図式を最後に完成させるのがNAPだ。計算機から計算能力を独立させたのだ」(ステファン・ドゥイット氏)。
仮想マシンの実行に最適化
Azul Compute Applianceの構成は、64ビットのRISCプロセッサ「VEGA」を2つとメモリを搭載したCPUボードを、メッシュ型のバックボーンで最大8枚つないだ簡素な装置である。筐体内には、CPUボードとバックボーンのほかには、電源と冷却ファンだけを搭載する。CPU処理専用機であるため、ディスクは搭載しない。CPU自体も消費電力を抑えており、CPUボード2枚の製品で800ワット、CPUボード8枚の製品で2.5Kワットと、汎用サーバと比べて低い。
RISCプロセッサのVEGAは、マルチスレッド処理を効率的に動作させるよう、1個のCPUに24個のコアを実装したマルチコア構成を採った。各コアがL1キャッシュを持ち、CPU内にはコア同士が共有するL2キャッシュを搭載、キャッシュ間の整合性を維持する。Azul Compute Applianceは、1つの筐体に合計384コアと256Gバイトのメモリを搭載できる。各コアごとに単一イメージで使えるほか、384コア全体を単一のSMP(対称型マルチプロセッサ)イメージで使うことも可能である。
VEGAは、マルチコアに加え、使われないオブジェクトをヒープ領域(メモリ領域)から開放するガベージ・コレクション(GC)にかかる時間を削減する工夫など、仮想マシンの動作に最適化して設計した。仮想マシンには、Javaアプリケーションの稼動環境であるJavaVMや、.NETアプリケーションの稼動環境であるCLIなどがある。仮想マシンの実行に最適化したCPUを新たに設計した理由についてステファン・ドゥイット氏は、「今後数年間でユーザーが新規に構築するアプリケーションの80%は、Javaや.NETなどのように仮想マシン上で動作するものだ」と説明する。
既存環境にアタッチして使える
Azul Compute Applianceの使い方とソフトウェアの仕組みは、以下の通りである。Javaアプリケーション・サーバの場合、既存のアプリケーション・サーバ上で稼動するJavaVMを、Azul Compute Appliance専用のJavaVMに置き換える。あとは、必要に応じて、CPUの最大割り当て量など、アプリケーション・サーバごとにCPU処理の割り当てポリシーを設定する。既存のシステム・アーキテクチャを変更することなく、Azul Compute Applianceを追加するだけで、CPU処理能力だけを取り出せる。
新たに導入したアプリケーション・サーバ上で稼動するJavaVMは、Azul Compute Appliance上に読み込むJavaVMのプロキシ(代理応答ソフト)として動作する。アプリケーション・サーバに対してリクエストが発生すると、JavaVMプロキシがAzul Compute Applianceにリクエストを投げる。Azul Compute Applianceはプロキシから受けたリクエストをアプリケーション・サーバに成り代わってCPU処理し、結果を返す。
1コアあたりの性能は、汎用的な600MHz〜700MHz程度のCPUと同等である。1コアあたりの価格は「1000ドルと少し程度であり、市場のコモディティ製品(汎用サーバ)よりも安価」(ステファン・ドゥイット氏)である。新規に業務システムを設計する場合や、既存のアプリケーション・サーバの台数を減らす場合にコスト・メリットが出なければ、Azul Compute Applianceに置き換える魅力がないからだ。
ラインアップは3種類、サイジングは試験導入から
Azul Compute Applianceのラインアップは3種類である。高さ5Uのラックマウント大の筐体が1モデルで、96コア(4CPU)で固定。高さ11Uのラックマウント大の筐体が2モデルで、それぞれ192コア(8CPU)と384コア(16CPU)に固定である。CPUボード単位の拡張はできない。3種類のモデルのうちいずれか1つを選ぶか、または複数台を同時に使って処理を分散する。
汎用CPUを用いた既存のアプリケーション・サーバ環境と比べて余剰CPUの総数を減らせるメリットを持つNAPだが、初期導入時に用意するモデルを選ぶ際のサイジングの基準となる性能値は公表していない。この点についてステファン・ドゥイット氏は「購入する際には試験導入して使ってもらう期間を設けて対応できる。Azul Compute Applianceによって設備やCPU能力のプランニングに限らず、価格性能比でも汎用サーバを上回る」と力説する。96コアの最小モデルの国内販売価格は、ドル換算で13万ドルからになる見込みだ。