HPCサービスについて、AWSのCTO、Verner Vogel氏のブログを通して、その背景と目的について分析をしてみる。
Expanding the Cloud - Cluster Compute Instances for Amazon EC2
By Werner Vogels on July 13, 2010 12:00 AM
Cluster Computing Instancesは、HPCのニーズに対応して新しく始めたインスタンスの種類である。 AWSの価格体系を保持しつつも、並列処理の比重が高く、高いネットワーク性能を必要としているアプリケーションに適した環境を提供する事が従来のAWSインスタンスとの大きな違い。
Amazon EC2を提供開始した当時から、HPCむけのアプリケーションを実装する顧客が多かった。当初は、Wall Streetの企業で、非常に複雑なMonte Carlo演算を数千ものインスタンスを並行に動かし、様々なシミュレーションの最適化を行うケースがあった。 また、製薬業界、原油掘削、工業や自動車の設計、メディア関連のアプリケーションも多く登場した。
さらに、企業はHPCアプリケーションのAWS EC2での実装をさらに進め、次の登場したのは、
超大型の非構造型データセットを使用するBusiness Intelligence系のアプリである。 この動きをきっかけに、HadoopやMap Reduce 等の技術が話題となり、我々もAmazon Elastic Map Reduceというサービスを通してこういったニーズに対応し、EC2上で大型のHadoopクラスターを動かす事ができる様にした。
Amazon EC2とElastic Map Reduceの組み合わせは、HPCのニーズをもつユーザに対してある一定の効果を発揮し、多くの評価を受ける事ができたが、一部のHPCユーザには、既存のEC2アーキテクチャが適用できないケースが出てきた。 特にこの課題が顕著だったのは、MPIベースのアルゴリズムをベースとしているアプリケーション等、Latencyが低い事が大きな条件となっているケースである。 また、稼動するハードウェアのアーキテクチャの特性を利用してアプリケーションをかなりのレベルで最適化する必要のあるケースなどもEC2上ではソリューションを提供しにくいのが現状であった。
Cluster Computing Instances(CCI)が生まれたのは、こういった背景があったからである。
従来のAmazon EC2インスタンスに基本的に似ているが、大きく違うのはCCIにおいては複数のインスタンスをCluster Placement Groupという一つのグループとしてまとめ、このグループをLow-Latency、高Bandwidthを提供する環境に置くため、専用の10Gbpsネットワークをクラスター内の通信に利用できる様にした事である。
さらに、CCIインスタンスは特定のプロセッサを選択できる様にし、それぞれのCPUの特性を最大限に引き出せる様なプログラミングができる環境を提供する事とした。 今後種類は増やす計画であるが、現在は、一つのクラスターにIntel Xeon X5570(quad core i7 もしくは Nehalem)を2台提供する事とした仕様である。
このCCIは昨今のHPC環境において、次の2つの大きな課題を解決する事を目的としている。
1) オンデマンドのスケーラビリティを容易に利用できる環境を提供する事
HPC市場は、主として専用のマシンを必要とするため、それを導入するための大規模な投資を必要とし、なおかつ、汎用的なマシンでないために導入の期間も通常のIT機器より長くなる傾向にある。 そのため、ユーザに対しては様々な運用上の制限がかけられるケースなどもが多い。HPCを必要とするアプリケーションは長いジョブキューにかけられる事が多く、ユーザはそのキューがあまりにも長すぎると目的を時間的に達成できない事も多い。 Amazon EC2のCCIは、クラウドコンピューティングぐの特性を活かして、大きな初期投資を取り除くと同時に、オンデマンドのHPC環境を提供する事を目的としている。
2) HPC環境の標準化
HPCにも色々とレベルがあり、US National Research Labs等で行われる、世界最速級のスーパーコンピュータを使用し、専用のスタッフが常に最適化の作業を行うような環境が必要なHPCがある一方、汎用的で中規模な環境での研究や調査活動に必要なHPCシステム、という物がある。 CCIでソリューションを提供しようとしている野はこの後者の方である。 後者の汎用的なHPC環境は非常にユーザ層が大きい事がわかっており、また汎用的である一方、企業内のITスタッフの大きな負担になっている、という事も気づいている。CCIの提供によって、この層に対して大きな寄与ができるもの、と期待している。
過去のスーパーコンピュータのイメージは、最近のHPC、特に低価格のCPUを高集約化する事によって構築できるHPCシステムの登場によってかなり一般的に使える物に変わってきている。 Amazon EC2の今回のCCIの登場は、いよいよHPCも汎用システムの一つとしてクラウド環境でソリューションが提供できる事を示す事になる。
単なる科学技術計算の市場だけではなく、ゲーミング業界等、3次元のシミュレーションが高度化している市場や、記入市場などでの複雑なシミュレーション等の用途も大きく成長している事が要因であると、考えられる。 それと同時に、クラウド市場専用のスーパーコン向けのハードウェア技術、という物が新しい市場として成長する可能性もある、と考えられる。