最も基本的なハイ パフォーマンス コンピューティング (HPC) システムは、パフォーマンスの高いファイル システムによってサポートされ、待機時間の短いネットワークによって相互接続された計算リソースのプールです。 HPC スケジューラは、ジョブをスケジュールするソフトウェア アプリケーションで、通常、これらの計算リソースを管理します。
仮想マシン、ディスク、ネットワーク インターフェイスなどの基本的なインフラストラクチャ ユニットから Azure 上に個々の HPC システムを構築するのは面倒です。特に、これらのリソースが一時的な場合は、HPC タスクの解決に必要な時間だけ存在します。 さらに、さまざまなビジネス ユニット、研究チーム、または個人に合わせてカスタマイズされた複数の個別の HPC 環境を作成することもできます。 これらの複数の HPC システムの管理は、運用上複雑になる可能性があります。
CycleCloud とは
Azure CycleCloud は、Azure で HPC システムを構築するのに役立つツールです。 これらのシステムを調整して、基本的な Azure の構成要素を管理する手間をかけずに、HPC タスクに従って柔軟にサイズを調整します。 経験豊富な HPC プロフェッショナルのチームが、HPC 管理者とユーザー、特に内部 HPC インフラストラクチャに似た HPC システムを Azure で構築したいユーザー向けに CycleCloud を設計しました。
CycleCloud は、Azure 上の Linux VM または Azure API とリソースにアクセスできるオンプレミス サーバーにインストールするアプリケーション サーバーです。 CycleCloud は、スケジューラとユーザー アプリケーションを統合できる CycleCloud クラスターを構築するために、Azure VM を取得してプロビジョニングします。 CycleCloud には、多数の HPC スケジューラと、Azure VM 上で実行される CycleCloud エージェントの自動スケール統合も用意されています。
アプリケーション サーバー
このアプリケーション サーバーは次の機能を提供します。
- Azure で HPC システムを作成および管理するための REST API。
- HPC システムの管理と監視に使用するグラフィカル ユーザー インターフェイス。
- CycleCloud の既存のワークフローへの統合を容易にする CLI。
- クラスターとノードの状態をキャッシュする内部 NoSQL データストア。
- Azure VM を取得および管理する割り当ておよびオーケストレーション システム。
- 状態の変化をアラートする既存の VM のノード監視システム。
統合
CycleCloud には、一般的なスケジューラと Azure VM への統合も用意されています。 これらの統合により、次の機能が提供されます。
- プロビジョニングされた VM を HPC ノードに変換するためのノード準備および構成システム。
- HPC スケジューラ タスクの要件を Azure リソースに変換する HPC スケジューラの自動スケーリング。
CycleCloud でできること
CycleCloud は、Azure に HPC システムをデプロイする HPC オペレーター (管理者とユーザー) を対象としています。 HPC スケジューラから、アプリケーションのインストールとデータ アクセス用のファイル システム マウント ポイントに、内部的に実行されているインフラストラクチャをレプリケートしたいと考えています。 これらのユーザーは特に、内部プロセスを再ツールすることなく、アプリケーション、ワークフロー エンジン、計算パイプラインのサポートを探します。
CycleCloud には、HPC システムを記述できる豊富な宣言型テンプレート構文が用意されています。 クラスター トポロジを定義できます。これには、各ノードにデプロイするクラスター ノード、マウント ポイント、アプリケーションの数と種類が含まれます。 CycleCloud は、PBSPro、Slurm、IBM LSF、Grid Engine、HT Condor などの HPC スケジューラを使用するように設計されています。 各スケジューラで異なるキューを作成し、Azure 上の異なる VM サイズのコンピューティング ノードにマップできます。 さらに、自動スケール プラグインはスケジューラ ヘッド ノードと統合されます。 各システムのジョブ キューをリッスンし、アプリケーション サーバーで実行されている自動スケール REST API と対話してコンピューティング クラスターのサイズを設定します。
CycleCloud には、HPC ノードのプロビジョニングと作成に加えて、仮想マシンを準備および構成するためのフレームワークも用意されています。 これは、ベア VM を HPC システムの機能コンポーネントに変換するためのシステムを提供します。 このフレームワークを使用すると、VM で最後の 1 マイルの構成を行うことができます。
さらに、CycleCloud には次の機能があります。
ユーザー アクセス
CycleCloud には、HPC システムの各ノードでローカル ユーザー アカウントを作成するためのサポートが組み込まれています。 このシステムを使用すると、ディレクトリ サービスをデプロイすることなく、単一の管理プレーンを介してユーザー アクセスを制御できます。
監視
ノード レベルのメトリックが収集され、CycleCloud UI に表示されます。 これらのメトリックは、システムの負荷を監視するのに役立ちます。 それらをレポートおよびアラート サービスにフックできます。
ログ記録
CycleCloud は、ノードおよびアプリケーション サーバー レベルでアクティビティとイベントをログに記録するためのシステムを提供します。
移植性
システムでは、特定の VM イメージまたはオペレーティング システムを使用することを必須としていません。 CycleCloud は、HPC ノード上の主要な Windows および Linux オペレーティング システムをサポートします。 さらに、独自の VM イメージを構築し、HPC システムで使用することもできます。
コードとしてのインフラストラクチャ
CycleCloud で作成されるすべてのものがテンプレートと構成スクリプトで定義されているため、CycleCloud を通じてデプロイされた HPC システムを反復可能で移植可能にすることができます。 このアプローチでは、サンドボックス、開発、テスト、運用など、さまざまな環境に HPC システムをデプロイするオペレーターに一貫性が提供されます。 オペレーターは、異なるビジネス グループまたはチームに同じ HPC システムをデプロイして、会計上の懸念事項を分離することもできます。
疎結合または密結合ワークロード
CycleCloud によって作成された HPC クラスターは、主にスケール (クラスターのサイズ) が重要な懸念事項となる疎結合または独立並列ジョブに限定されないサポートを行うように設計されています。 CycleCloud クラスターは、Azure の InfiniBand バックボーンを念頭に置いて設計されており、ノードの近接性とネットワーク待ち時間が重要な密結合または MPI ベースのワークロードをサポートします。 これらのスケールアウトと密結合の概念は、CycleCloud がサポートするスケジューラ統合に浸透しています。