世界のスーパーコンピュータとそれを動かす人々


9月 10, 2014

クラウドでのHPCベンチマーク

HPCwire Japan

Tiffany Trader

すべてのクラウドは同じではない。それは、高性能コンピューティング(HPC)のワークロードの実行と言えば特に真実に聞こえる金言である。 HPCミドルウェア•ソリューション•ベンダーのTechila Technologiesは、3つのトップクラウドプラットフォーム – Amazon Web ServicesとGoogle Compute Engin、Microsoft Azure -での幾つかの現実世界の高性能コンピューティングのシナリオの文脈内でベンチマークと分析のための時間をとった。結果は、「クラウドベンチマーク – ラウンド1」という単純なタイトルの次の報告書内で詳述されている。

「もし、クラウドの技術的特徴がビジネスのニーズに合わせていない場合、コスト効率がいいと見られるソリューションでも所有者コストは高くなります。」Techilaによるこの観察結果は、なぜベンチマークを実施したのかを話し、どのクラウド製品とインスタンス•タイプが特定のアプリケーションにとって最適に働くかを検討する。

20140610-F1-Techila-HPC-cloud-benchmark-Table1

Techilaは、ベンチマーク実験をわかり易いように分析してHPC顧客に提供することを意図していたと説明する。潜在的なクラウドの採用者は、ドルあたりのFLOPSとドルあたりのGbpsに興味はあるが、十分に彼らの問いに答えるか、彼らの懸念に対処していないことを会社に言った。

「素のプロセッサパワー、使用可能なメモリ、もしくは理論最大データ転送速度は、常にアプリケーション性能へ直接翻訳されません。」とTechilaは書いている。 「このため、[その]ベンチマーク実験の焦点は、現実世界のHPCユースケース内でAWS、Google Compute Engine GCEおよびAzureの性能をテストすることにおいてであり、どのように主要なクラウドがHPCシナリオから起因する要求に対応するかを研究することについてです。」

Techilaを使用したテストスイートは、クラウド•プロバイダーとMATLAB、Rプログラミング言語のユーザ、そしてシミュレーション担保のエンジニアリングツールの参加を得て開発された。テストの最初のラウンドの後、主な結論は、すべてのプラットフォームが同じレベルの柔軟性を示すものではないことであった。

テストは2つのカテゴリーに分類される:展開性とアプリケーション性能。最初のテストは、コンピューティング•ニーズに対応するクラウドの能力に集中した。焦点は、大規模なコア数を最も使用するように拡張することができる完全並列問題を対象とした。(Techilaは、将来的には、MPIのようなテストを計画していると言う。)

実験は、次のようないくつかの質問に答えるために着手した。

どのようなインスタンスタイプが、最高の性能を提供しているのか? 最も高価なインスタンスタイプを使用する必要があるのか? クラウドのオペレーティングシステムは、システムのスループットに影響があるか? クラウドの内部基盤を気にする必要があるか?

便宜上、Techilaは各クラウドの技術仕様の図(上記参照)を提供する。 インスタンスタイプに関し報告書は、Azureにおいては、A8(Windowsに)と特大(A4)(また、Windowsで)を見て、AWSではc3.8xlargeの2つの実装、ひとつはWindowsとひとつはLinux、を検査した。そして、Googleコンピュート•エンジン(GCE)において、彼らはn1-standard-8(Debian7で)を使用した。

クラウドの価格は、多くの改正を経て来たが、試用時の価格も表示される。米ドルで毎時間あたりのCPUコア単位の価格は、Azure A8で0.060(LinuxでAWSの場合)から0.306の範囲である。

展開試験は、クラウド内で256CPUコアの仮想HPC環境の展開を分析した。興味深い調査結果の中で、Techilaは、Microsoft Windowsオペレーティングシステムを使用した展開は、Linuxオペレーティングシステムのインスタンスタイプよりも時間がかかることを観察した。著者らは、これはMicrosoft Windowsのインストール中に発生したシステム準備(Sysprep)フェーズに関連している可能性が高いこと を示唆している。

20140610-F1-Techila-HPC-cloud-benchmark-Fig1

別の発見は、AWS c3.8xlargeとAzure A8のWindowsインスタンスの形状に関するものである。その展開が直線的ではない。レポートの著者は、「これについて考えられる理由は、これらのインスタンスタイプの利用可能性がまだかなり限られており、データセンターは、多数のこれらのインスタンスタイプが要求への対応に課題を抱えています。」と言うことを示唆している。

Azure上で展開をテストすることは、この実験では不可能であった。何故なら、Azureは、Platform-as-a-Service(PaaS)として設計されており、Techila配置ツールの現在のバージョンのために必要なJava管理インタフェースが提供されていない。

構成テストは、MATLABベースのアプリケーションが256 CPUコアの仮想HPC環境内でどのように過ごすかを調べた。調査結果は、インスタンスの構成は、他のクラウド製品よりもAzure内で遅かったことを示している。彼らは、これがAzureのPaaSベースの設計のためにやることが出来た理由である。 AWSとGCWは、しかし、基盤への直接アクセスを提供している。「AzureのPaaSデザインの制限により、TechilaミドルウェアはAzureでのHPC環境の中にPeer-to-Peer (P2P)転送技術をサポートすることができません。」とレポートの著者は指摘する。

もう一つの重要な観察は、AWSインスタンスの構成は、WindowsよりもLinuxで速かったということである。実験者は、これについての根拠を確認することはできないが、彼らはそれがファイルシステムの機能によって説明出来るかもしれないと考える。転送されたデータは、約33,000のファイルが含まれていると言われ、それがかなり小さい多数のファイルを扱うとき、Windows上のファイルシステムが遅く実行することが示唆されている。

HPCアプリケーションテストは、3つの一般的なアプリケーションシナリオで見た:

  • モデル較正(MATLABコードを用いて)
  • ポートフォリオ•シミュレーション(Rで実装)
  • 機械学習(C + +で実装されている)

Techilaは経過時間、CPUコア当たりの価格とクラウドコンピューティングのコストを含むチャートで各アプリケーション状況の詳細な評価を提供する。

ここに実験者によって行われた幾つかの興味深い観察である:

MATLABコードの場合:

「調査結果は、この特定のシナリオでは、MATLABはLinux環境よりもWindows環境で性能が向上するようであることを示しています。」

Rユーザーの場合:

「興味深い観察は、AWS c3.8xlargeの性能に関連しています。 Azure A8とAzure Extra Largeを比較すると、Azure Extra Largeは、AWS c3.8xlargeと同じ様な非常に類似した性能を提供し、Azure A8がAWS c3.8xlargeとAzure Extra Largeに比べて倍の性能を提供することを 私たちはこのケースにおいて知ることができます。Azure Extra Largeのコストが手頃な価格で、Azureが細かい粒度の課金をサポートしているため、これは、Rプログラミング言語のユーザーにとってAzure Extra Largeは大きな価値のあるオプションとすることができます。」

「もうひとつの興味深い観察は、このケースではLinuxとのAWS c3.xlargeは、Windowsオペレーティングシステムを実行するAWS c3.8xlargeよりも明らかに優れた性能を提供することです。」

機械学習の場合:

「もう一つの興味深い観察は、この特定のケースでWindowsオペレーティングシステムとのAzure A8とAWS c3.8xlargeが、他のテストケースで観察された違いにもかかわらず、非常に類似した性能を提供したことです。これは、一部のシナリオがハイパースレッディングによく適しており、そしてその利益を得ることができるという事実に関連している可能性が示唆されました。このため、もし目標がハイパースレッディング・プラットフォームを最大限に活用することである場合、プラットフォームのためのアプリケーションの適合性を理解することが重要です。」

Techila初のクラウドベンチマークラウンドの結果に基づいて、同社はクラウドコンピューティングがHPCで仕事する役割を持っていると確信している。実験者はまたクラウドが、HPCにおける重大な民主化効果を持っていると考えていることを書いている:

「HPCは、もはや特別なトレーニングや高価な先行投資を必要とする科学ではありません。クラウドは新しい仕事場をHPCをもたらすでしょうし、簡素化されたユーザ体験は、それの利益のために新規ユーザに力を与えるでしょう。」

テストプロセスはまた、商用クラウドプラットフォームがバージョン番号を使用していないという点でハードウェアパスによりしたがっていることを思い起こさせるとして役立った。ベンダーは、絶えず新しいインスタンスタイプと機能を押し出しており、価格も一定の改訂下にある。このため、任意のベンチマークは、進行中の作業として扱う必要がある。これらの変更を適切に保つことで、Techilaは定期的にテストを繰り返すことによって報告書の更新を続けることを計画している。

Techilaはまた、柔軟性が本当に無制限ではないことの点をあげる。リソースのプロビジョニングは、アマゾンの規模でさえも、まだ物理的境界によって制限される。影響のある計画段階を除いて、Techilaは、物理的なアーキテクチャがなぜクラウド内のHPCがミドルウェアを必要とするのかの理由であることを主張する。

「クラウドのような粗結合基盤内でこのような実験を行うことは、ミドルウェアを必要とし、水平方向のスケーリングを可能にし、物理基盤の可能な非線形性を隠すことができます。」とレポートは言う。「結局、クラウドは、私たちがオフィスで見るものと非常に似た単位で構築されています。私たちは、物理的な単位のスケーラビリティの限界に来たとき、この実験でTechila HPCミドルウェアが経験した制限を超えたスケーリングを可能にするソリューションを必要としています。」