2009年11月15日日曜日

グリッドとクラウドの融合
-Nimbus & OpenNebula-

前回、米エネルギー省(DOE-Department of Energy)傘下の国立研究所で始まったHPCベースのCloud Computingに関する実証実験-Magellan Project-の開始を紹介した。ただ、HPCというと、現OGF(Open Grid Forum)-旧GGF (Global Grid Forum)-などのGrid Computingを思い浮かべ、そして、Grid Computingはアカデミックの人たちのもので、古く、現在のCloud Computingとは異質のものだと漠然と考える人たちが多い。この誤解については、Globusが2007年にリリースしたWorkspace ServiceのAmazon EC2 Gatewayによって解かれたところまでを説明した。つまり、Grid ComputingとCloud Computingは補完関係にあり、EC2のComputing NodeをGrid Computingで束ねて、より大きな作業領域を作り出すことが出来る。そこで今回は、引き続き関連するテーマとして、米国と欧州の2つのオープンソー スプロジェクトを報告しよう。

◆ Nimbus

Globusの始めたWorkspace Serviceは、GGFのWSRF(Web Service Resource Framework)を基本的なベースにして、Grid Computingの流れを汲みながら、徐々にCloud Computingへと進化した。この新たな試みをNimbusプロジェクトという。Nimbusは、Globus toolkit同様、シカゴ大学(University of Chicago)とアルゴンヌ研究所(Argonne National Laboratory)が中心となって開発したオープンソースのソフトウェアセットで、HPCはもとより、クラスタリングサーバーなどのIaaS構築をサポートする。ライセンスはApache License 2。

Nimbusの提供するサービスは下図で示されるように「Compute」と「Storage」の2つ。ComputeがWorkspace Serviceであり、StorageはFTP Serviceである。

Nimbus の仮想化技術はXen(最新版TP2.2)だが、近々、KVM(Kernel-based Virtual machine)も予定されている。グリッドをクラウドに重ね合わせ、利用者により大きな空間を提供する「Workspace Service」では、Xenによって出来上がった仮想マシン(VM-Virtual Machine)をクライアントからの要求(Client Initiation)に従ったサイズにすべく、VMM(Virtual Machine Monitor)-仮想化ソフトウェア-と連携し、結果をクライアントに返す。この際のリソース管理は2つ。デフォルトはプールされた仮想マシンを直接利 用する「Resource Pool」、もうひとつはNASAが開発した分散環境下のジョブスケジューリングが出来るワークロード管理OpenPBSな どのLRMS(Local Resource Management System)を用いる方式である。Nimbusでは、また、次に紹介するOpenNebulaをWorkspace Serviceのバックエンドとして連携させる試みも行われ、将来は本格的な連携も期待されている。

Nimbusのクライアントからの使い方を見てみよう。
標 準となるのは「Cloud Client」で、構築したNimbusシステム上でWSRFと連携したWorkspace Serviceを受け「EC2 Client」はWSDL(Web Service Definition Language)でNimbusと連動し、EC2リソースを利用したWorkspace Serviceを受ける。また「Context Client」とは、Workspace Serviceベースではなく、仮想の大型クラスターをContext Broker経由でNimbus上で利用する形態をいう。

◆ OpenNebula

NimbusがGlobus/OGFを核とした米国中心の活動であるのに対し、OpenNebulaプロジェクトは、ヨーロッパがベースだ。2002年から始まったスペイン最大マドリード・コンプルテンセ大学(Universidad Complutense de Madrid)のDistributed Systems Architecture Research Groupが 開発したものだ。ユーザーはこのツールを適用して、HPCや企業内データセンターのクラスターシステムなどを仮想インフラ化してクラウド利用する。 OpenNebulaはIaaS構築のVirtual Infrastructure Managerとして機能し、仮想マシンだけでなく、ストレージやネットワークの管理も実行する。最新版のOpenNebula 1.4では、仮想化はXenだけでなく、KVM、VMwareにも対応し、Virtual Boxも1.4.2で計画されている。また、利用リソースは、Nimbus同様、自前のローカルリソースだけでなく、Amazon EC2、英ElasticHostsをハイブリッドクラウドとして利用することができる。ライセンスもNimbus同様、Apache License 2。














-特徴-
  • Dynamic Resizing/Dynamic Cluster Partitioning-新らたに物理ホストを追加すると瞬時に自動システムサイズ拡張を実行、またパーティショニングによるクラスターサイズも動的変更ができる。
  • Centralized Management全ての仮想・物理マシンを中央管理し、カスタマイズのためにユーザーやシステム管理者にAPIを提供。
  • Higher Utilization of Existing Resources-異なる組織で管理するサーバーや異機種などの現存するリソースを組み入れることができる。
  • Lower Infrastructure Expenses-自前リソースと外部クラウドをハイブリッド利用し、実質コストを抑制する。
さて、このOpenNebulaには、幾つかヨーロッパとしての大事な役割がある。
まず、欧州連合(EU-European Union)がファンディングしているResevior(後述)、次がスペイン工業・観光・通商省が後援し、スペイン最大の電話会社Telefonica が民間8社のコーディネーターとなって進めるNUBA(Normalized Usage of Business-oriented Architecture)プロジェクト、来年からはスペイン科学・革新省のスポンサーによるHPCを本格的に利用したクラウドHPCcloudプロジェ クトなどだ。OpenNebulaはこれらプロジェクトの基盤ソフトウェアとして利用され、一方で、その成果を民間にオープンソースとして提供する役割を 担っている。

◆ Reservoir


Reservoirは EUがスポンサーのプロジェクトで、第7次研究・技術開発のための枠組み計画(FP7)に沿い、ソフトウエアや通信分野の大手企業が中心となって、 2005年に発足したオープンスタンダードにもとづくソフトウエアとサービス開発を目指すNESSI(Networked European Software and Services Initiative)と連携するものである。プロジェクトの課題は、異なるITシステムやサービスのバリアを無くし、真にユーザーフレンドリーな環境の 提供を目指すもの。このためにCloud Computingを用いて異なるITプラットフォームやITサービスを境目無く提供する管理技術を研究する。プロジェクトの実際の活動は、イスラエルに あるIBMのHaifa Research Labが核となり、パートナーとして独SAP Research、米Sun Microsystems、スペインTelefonica Investigacion y Desarrollo、仏Thales、スウェーデンUmea University、英University College of Londonなどが参加。また、NESSIには、仏Atos Origin、英BT Group、伊Engineering Ingegneria Informatica、IBM、HP、フィンランドNokia、独SAP、独Siemens、独Software AG、伊Telecom Italia、スペインTelefoica、仏Thales、現OW2(旧ObjectWebコンソーシアム)などが参加。

◆ LHC Computing Grid

世界最大のGrid Computing、それは昨年7月に運用が開始されたWorldwide LHC Computing Gridである。CERNとして知られる欧州原子核機構がジュネーブ西方の
レマン湖畔にフランスをまたぐ全周 27km の円形加速器LHC(Large Hadron Collider)を設置し、2008年から実験が開始された。LHC Computing Gridは、この加速器を用いた実験分析用として作られたものである。
世界34ヶ国、170のコンピューティングセンターの100,000 CPUをグリッド結合して、各 国の研究所や大学から直接利用することが出来る。この巨大な分散ネットワークは、3つのTierと呼ばれるレイヤーからなり、Tier 0はCERN自身のComputing Centerで、全てのジョブのLHCデータはこのハブを通して供給され、主要な他のレイヤーとは10GBで接続されている。次のTier 1は、LHCデータ保存のため、比較的大きなストレージ容量を持った11のコンピュータセンターが選ばれ、LHCデータは、このTier 1からさらに160のTier 2となるデータセンターに送られて使用される。ミドルウェアとして利用されているのは、Grid Computing構築のGlobus Toolkit、ウィスコンシン大学で開発した分散スケジューリングのCondorとグリッドソフトウェアの統制図るVirtual Data Toolkit、欧州のEnabling Grids for E-sciencE(EGEE)が開発した軽量のグリッドツールgLite Toolkitなどだ。Worldwide LHC Computing Gridの試運転は昨年7月、本格的な運用は10月からだった。そして1年、これまでの稼動実績は18,500万ジョブにのぼる。今後はグリッドとクラウドの融合技術が検討予定だと聞く。


本稿では、米欧、2つのHPC用クラウド構築プロジェクトを紹介した。
こ れらを詳しく調べると、現在の商用Cloud Computingの将来展望が見え始める。サーバーはラックマウントなどの単なるコモディティーから、ブレードサーバーより高度なHPCへ、さらにはデ スクトップからサーバーへと進化した仮想化技術も無数のノードが前提となる。この分野が実用化されれば、より効率的で巨大なクラウドが出現する。