Amazon Web Services ブログ
研究ワークロードに適したコンピューティングオーケストレーションツールの選び方
世界中の研究機関では、 AWS を利用して大規模なシミュレーション、分析、モデリング、その他の分散型・計算集約型ワークロードを毎日実行しています。これらのジョブは、コンピューティングフリート全体でタスクを調整するオーケストレーションレイヤーに依存しています。
研究者やシステム管理者にとって、研究者向けのサービスを提供する際、ワークロードの種類によって選択肢が多岐にわたるため、どの AWS サービスやソリューションを使用するべきか判断することが難しい場合があります。
本記事では、代表的な研究ユースケースを取り上げ、それぞれのワークロードに最もフィットすると考えられる AWS ツールについて解説します。
ワークロードを理解する
各ツールの詳細に踏み込む前に、自身のワークロードの特性を把握することが大切です。
プロセスの密結合が求められるか、コンテナを利用するか、機械学習機能が必要か、クラウドデスクトップが不可欠かといった、様々な要因が意思決定プロセスにおいて重要な役割を果たします。
研究は一様ではないため、 AWS では工学シミュレーションや創薬、ゲノミクス、機械学習(ML)、金融リスク分析、社会科学など、 HPC(High Performance Computing, 高性能計算処理 )ベースの多岐にわたる研究をサポートしています。
また、選択するツールは排他的ではありません。お客様は同じアカウント内で、自身のニーズを満たすソリューションを組み合わせて利用できます。
AWSのコンピュートオーケストレーションツールの詳細
従来の HPC クラスターに適した AWS ParallelCluster
AWS ParallelCluster は、AWS上でHPCクラスターを構築・管理するための柔軟なツールです。シミュレーションや分析など、従来型のHPCクラスターを必要とする密結合ワークロードに最適です。低レイテンシーと高スループットのインスタンス間通信のために、Elastic Fabric Adapter(EFA)ネットワークをすぐに使えるようサポートしており、高性能ファイルシステム(Lustre – Amazon FSx for Lustre マネージドサービスを通じて利用可能)も備えています。
図1 – HPC ワークロードのための AWS ParallelCluster とその構成要素の概要を示しています。Slurm と Amazon EC2 との統合により、ジョブキューに基づいて計算ノード数が適切にサイジングされます。Amazon FSx for Lustre を使用すれば、高性能ファイルシステムにアクセスでき、同時に Amazon S3 オブジェクトストレージの利点も活用できます。これらすべてが Elastic Fabric Adapter (EFA) で接続されており、密結合ワークロードに対して極めて高い性能の接続とスケーリングを実現します。
コンテナベースのジョブに適した AWS Batch
AWS Batch は、多くのコンテナ化されたジョブを同時に実行するような並列度の高い用途に適しており、これは密結合のワークロードも含みます。Amazon Elastic Kubernetes Service (EKS)、Amazon Elastic Container Service (ECS) などとシームレスに統合されたフルマネージドスケジューラで、研究者は既存のコンテナ化アプリケーションを活用できます。典型的なワークロードは、汎用的な計算の並列実行や、他の AWS サービスとの統合、MPI や NCCL を用いた密結合ジョブ等です。
図2 – コンテナベースのジョブ処理と AWS サービスとの統合を示す AWS Batch のワークフローです。Amazon EKS および ECS との互換性により、Compute Environment 層で柔軟性が確保されています。
機械学習プロジェクトに適した Amazon SageMaker
Amazon SageMaker は、特に Jupyter Notebook で Machine Learning モデルを開発するワークロードに最適です。研究コンピューティングの基礎的な構成要素に特化しているわけではありませんが、代わりにデータ発見・探索からモデルトレーニング・デプロイまでの全工程をカバーする、マネージド型の ML ・データサイエンスツール群のエコシステムを提供しています。
SageMaker ノートブックは対話型の開発環境を提供し、研究者はモデルの開発・テストを容易に行えます。SageMaker には事前トレーニングされたモデルも含まれており、研究者は ML プロジェクトをジャンプスタートできます。また、マネージド型の推論エンドポイントも提供されており、モデルのデプロイと予測の提供が簡単になります。
図3 – データ準備からモデルデプロイまでのエンドツーエンドのプロセスを高レベルで示す Amazon SageMaker エコシステムです。ノートブックでのローカルファイルシステムとして Amazon EFS と統合されており、また、モデルトレーニングのために高度に最適化された AWS Deep Learning Containers とも統合されています。
基盤となる計算リソースについて
先程述べた3つのサービスは、Amazon EC2 の Spot インスタンスと AWS Fargate の両方を活用できます。Spot インスタンスは割引価格で提供される余剰の EC2 キャパシティですが、2 分前の通知の後に中断される場合があります
SageMaker、Batch、ParallelCluster はいずれも、Spot インスタンスの経済的メリットを活用できます。Spot インスタンスを使う場合、ワークロードが回収によるキャパシティ中断に耐えられるか、またはサービスが代替リソースへ自動的に移行してプロセスの中断を回避できるかを確認する必要があります。MemVerge などの AWS テクノロジーパートナーは、OSレベルのメモリチェックポインティングを活用してこの問題を処理できます。
Fargate はサーバーレスコンピューティングエンジンで、Batch with ECS、ECS および EKS クラスターのネイティブワークロードで使用できます。サーバーやインフラパラメータ(インスタンスタイプなど)といった設定なしにコンテナを実行できます。ただし、ハードウェア仕様に関する注意事項がいくつかあり、ドキュメントで確認する必要があります。一般的に、研究では Spot インスタンスや Fargate を AWS オーケストレーションツールと組み合わせて使うことをお勧めします。
個人用クラウドデスクトップのための Amazon Lightsail for Research
Amazon Lightsail for Research は、価格の予想がしやすく、事前にセットアップ済みであるクラウドデスクトップを求める研究者向けのシンプル(かつ強力)なソリューションです。研究に最適化されたハードウェア仕様と、シームレスなユーザー体験を提供するよう、特に研究者向けにカスタマイズされています。Lightsail は、研究者のニーズに合わせてカスタマイズ可能な、さまざまな事前構成済みの仮想プライベートサーバーを提供し、Scilab、RStudio などの研究アプリケーションが付属しています。使いやすいインターフェイスと手頃な価格設定により、Lightsail for Research は研究者が AWS を使い始めるための、信頼性と効率性の高いソリューションとなっています。
図4 – 研究者が Amazon Lightsail for Research の簡素化された管理インターフェースとオプションを使って、Jupyter、RStudio、Scilab などの好みのアプリケーションをデプロイできることを示しています。
クラウドデスクトップを大規模に管理するための Research and Engineering Studio on AWS
Research and Engineering Studio on AWS (RES)は、管理者が安全なクラウドベースの研究開発環境を作成・管理するためのオープンソースのWebベースポータルです。複数の研究環境の基盤をITチームが簡単に管理できるよう設計されており、研究機関に最適です。ワンクリックでの迅速なデプロイが可能ですが、組織の特定のニーズに合わせてカスタマイズも可能です。
図5 – 研究者と管理者の両方が RES を活用して、Amazon EC2 でバックアップされた Engineering Virtual Desktops (eVDI)を作成できることを示しています。ここに示されている RES Virtual Desktop の画面には、ユーザーが作成したすべての eVDI セッションとそれらを起動、シャットダウン、または稼働時間をスケジューリングするための制御機能が一覧表示されています。
バイオインフォマティクスのための AWS HealthOmics
AWS HealthOmics は、バイオインフォマティクス研究のための包括的なソリューションです。生のゲノムデータの保存と処理を容易にし、研究者はゲノムデータを保存して解析できます。 WDL や Nextflow などの一般的なバイオインフォマティクスワークフロー定義言語をサポートしており、研究者は効率的にゲノムデータを処理・解析できます。
HealthOmics では、研究者が独自のワークフローを持ち込むか、事前に構築された Ready2Run ワークフローを使用するかを選択できます。Ready2Run ワークフローは、Sentieon 社や NVIDIA 社などの業界をリードする第三者ソフトウェア企業によって設計されており、タンパク質構造予測のための AlphaFold などの一般的なオープンソースパイプラインが含まれています。Ready2Run ワークフローを使えば、ソフトウェアツールやワークフロースクリプトを管理する必要がなく、研究者は大幅な時間を節約できます。
図6 – AWS HealthOmics プラットフォームの構造を示しており、ゲノムデータの処理と解析機能が強調されています。生の配列データと参照データは、Nextflow または WDL ワークフローを通して処理された後、Amazon Athena などの AWS 分析サービスで解析できます。
次世代サーバーレス技術の活用
この10年間、AWS はサーバーレスコンピューティングの分野を先駆けてきました。サーバーレスコンピューティングとは、サーバーインフラストラクチャを管理することなく、アプリケーションを構築・デプロイできるモデルです。パッチや監視などのオーバーヘッドを伴う仮想マシンを起動する代わりに、実行するコードやプロセスに集中できます。
これは、イベントハンドリングや非同期タスクなどのユースケースに適していますが、研究者はサーバーレスコンピューティングを活用して、ML のハイパーパラメータ最適化、ゲノム検索、さらには MapReduce などの並列性の高いワークロードの高速化にも利用してきました。
AWS Lambda は、サーバーを管理することなくコードを実行するためのサーバーレスインターフェースです。疎結合ワークロードに適した設計になっており、データの変更(またはデータの到着)などのイベントに応じてコードを実行できます。Lambda は自動的にスケーリングするため、数千の並列実行が可能です。
さらに良いことに、Lambda は200以上の他の AWS サービスと統合されているため、複雑なワークフローを構築しやすくなっています。AWS Step Functions との統合も提供されており、視覚的にワークフローを作成し、マルチステップの分散アプリケーションを構築できます。Lambda と Step Functions を組み合わせることで、異なる計算ステップ、データニーズを含むワークロード、さらには承認プロセスや人的な入力が必要なワークロードにも対応できるようになります。
図7 – サーバーレスコンピューティングアーキテクチャのサンプルを示しています。処理されるジョブのデータストリームが AWS Lambda によってピックアップされ、ダウンストリームの Amazon SQS キューに入れられます。AWS Step Functionsはこのキューから読み取り、Lambda ワーカー関数を使った分散コンピューティングのオーケストレーションの重い作業を処理します。Step Functions はまた、ワークロードの状態管理に Amazon DynamoDB 、イベントハンドリングに Amazon EventBridge 、処理後の結果の保存にAmazon S3を利用しています。
まとめ:適切な選択をするために
適切な AWS コンピュートオーケストレーションツールを選ぶには、万能のソリューションを見つけるのではなく、ツールの機能をワークロードの特定の要件に合わせて考えることが重要です。プロジェクトの細かい点、データの性質、計算ニーズに基づいて決定する必要があります。
プロジェクトとの互換性とスケーラビリティを測るために、小さなワークロードから始めましょう。 AWS は包括的なサービススイートを提供しており、お客様の研究の境界を押し広げるために必要なリソースと環境を確保し、研究ジャーニーのあらゆるステップをサポートする準備ができています。
また、 AWS パートナーもこれらのツールの実装をサポートします。Ronin や Ansys などのパートナーは、 AWS 上での研究の時間を短縮するための貴重な専門知識を提供します。
プロジェクトに最適な意思決定を行うために、研究チームと AWS 営業担当との相談をお勧めします。研究が進化するにつれ、 AWS のスケーラブルで多様なコンピューティング環境は、計算ニーズを満たすために必要なツールとサポートを提供し続けます。この記事で触れたいくつかのツールの細かい点についてより深く掘り下げるために、 Choosing between AWS Batch or AWS ParallelCluster for HPC、 why you should use Fargate with AWS Batch 、 save up to 90% using EC2 Spot についての過去の記事をチェックすることをお勧めします。
翻訳はソリューションアーキテクト池田が担当しました。原文はこちらです。
HPC全般に関するお問い合わせ窓口:aws-jp-hpc@amazon.com