Azure でのハイ パフォーマンス コンピューティング (HPC)High Performance Computing (HPC) on Azure

HPC の概要Introduction to HPC

"ビッグ コンピューティング " とも呼ばれるハイ パフォーマンス コンピューティング (HPC) では、CPU または GPU ベースのコンピューターを大量に使用して、複雑な数学的タスクを解決します。High Performance Computing (HPC), also called "Big Compute", uses a large number of CPU or GPU-based computers to solve complex mathematical tasks.

多くの業界では HPC を使用して、最も困難な問題の一部を解決しています。Many industries use HPC to solve some of their most difficult problems. これらには、以下のようなワークロードがあります。These include workloads such as:

  • GenomicsGenomics
  • 石油およびガスのシミュレーションOil and gas simulations
  • FinanceFinance
  • 半導体の設計Semiconductor design
  • EngineeringEngineering
  • 天気のモデリングWeather modeling

クラウドでの HPC の違いHow is HPC different on the cloud?

オンプレミスの HPC システムとクラウドのそれとの主な違いの 1 つは、必要に応じてリソースを動的に追加および削除できることです。One of the primary differences between an on-premises HPC system and one in the cloud is the ability for resources to dynamically be added and removed as they're needed. 動的スケーリングによって、コンピューター能力がボトルネットになることがなく、お客様はジョブの要件に応じてインフラストラクチャを適切にサイズ調整できます。Dynamic scaling removes compute capacity as a bottleneck and instead allow customers to right size their infrastructure for the requirements of their jobs.

次の記事では、この動的スケーリング機能について詳しく説明します。The following articles provide more detail about this dynamic scaling capability.

実装チェック リストImplementation checklist

独自の HPC ソリューションを Azure に実装しようとしている場合は、以下のトピックをご確認ください。As you're looking to implement your own HPC solution on Azure, ensure you're reviewed the following topics:

インフラストラクチャInfrastructure

HPC システムの構築には、多数のインフラストラクチャ コンポーネントが必要です。There are a number of infrastructure components necessary to build an HPC system. どのような方法で HPC ワークロードを管理することにしても、基礎となるコンポーネントを提供するのは、コンピューティング、ストレージ、およびネットワークです。Compute, Storage, and Networking provide the underlying components, no matter how you choose to manage your HPC workloads.

HPC アーキテクチャの例Example HPC architectures

HPC アーキテクチャを設計して Azure に実装するには、さまざまな方法があります。There are a number of different ways to design and implement your HPC architecture on Azure. HPC アプリケーションは、数千のコンピューティング コアにスケーリングしたり、オンプレミスのクラスターに拡張したり、100% クラウド ネイティブのソリューションとして実行したりできます。HPC applications can scale to thousands of compute cores, extend on-premises clusters, or run as a 100% cloud-native solution.

次のシナリオでは、HPC ソリューションを構築する一般的な方法をいくつか説明します。The following scenarios outline a few of the common ways HPC solutions are built.

ComputeCompute

Azure では、CPU の負荷が高いワークロードと GPU の負荷が高いワークロードの両方に対して最適化された幅広いサイズが提供されています。Azure offers a range of sizes that are optimized for both CPU & GPU intensive workloads.

CPU ベースの仮想マシンCPU-based virtual machines

GPU 対応仮想マシンGPU-enabled virtual machines

N シリーズ VM は、人工知能 (AI) の学習や視覚化などによりコンピューティングやグラフィック使用量が多いアプリケーションのために設計された NVIDIA GPU を採用しています。N-series VMs feature NVIDIA GPUs designed for compute-intensive or graphics-intensive applications including artificial intelligence (AI) learning and visualization.

StorageStorage

バッチ ワークロードや HPC ワークロードが大規模の場合には、従来のクラウド ファイル システムの容量を上回るデータ ストレージが必要になったり、データ アクセスが発生したりします。Large-scale Batch and HPC workloads have demands for data storage and access that exceed the capabilities of traditional cloud file systems. Azure 上の HPC アプリケーションの速度ニーズと容量ニーズ、両方に対応できるソリューションが多数ありますThere are a number of solutions to manage both the speed and capacity needs of HPC applications on Azure

Azure での Lustre、GlusterFS、BeeGFS の詳しい比較情報については、Azure での並列ファイル システムに関する電子ブックを参照してください。For more information comparing Lustre, GlusterFS, and BeeGFS on Azure, review the Parallel Files Systems on Azure e-book.

ネットワークNetworking

H16r、H16mr、A8、A9 の VM は、高スループットのバックエンド RDMA ネットワークに接続できます。H16r, H16mr, A8, and A9 VMs can connect to a high throughput back-end RDMA network. このネットワークでは、Microsoft MPI または Intel MPI の下で実行される緊密に結合した並列アプリケーションのパフォーマンスを高めることができます。This network can improve the performance of tightly coupled parallel applications running under Microsoft MPI or Intel MPI.

管理Management

自作Do-it-yourself

Azure で一から HPC システムを構築すると、高度な柔軟性が得られるものの、多くの場合、メンテナンスの手間が非常に大きくなります。Building an HPC system from scratch on Azure offers a significant amount of flexibility, but is often very maintenance intensive.

  1. Azure 仮想マシンまたは仮想マシンのスケール セットに独自のクラスター環境を設定します。Set up your own cluster environment in Azure virtual machines or virtual machine scale sets.
  2. Azure Resource Manager テンプレートを使って、業界をリードするワークロード マネージャー、インフラストラクチャ、およびアプリケーションをデプロイします。Use Azure Resource Manager templates to deploy leading workload managers, infrastructure, and applications.
  3. HPC および GPU の VM サイズを選択します。これには、MPI ワークロードまたは GPU ワークロードのための特別なハードウェアとネットワーク接続が含まれます。Choose HPC and GPU VM sizes that include specialized hardware and network connections for MPI or GPU workloads.
  4. I/O が集中するワークロードのための高性能ストレージを追加します。Add high performance storage for I/O-intensive workloads.

ハイブリッドとクラウド バースティングHybrid and cloud Bursting

Azure に接続したい既存のオンプレミス HPC システムがある場合、作業の開始に役立つリソースが多数あります。If you have an existing on-premises HPC system that you'd like to connect to Azure, there are a number of resources to help get you started.

最初に、ドキュメントのオンプレミス ネットワークを Azure に接続するオプションに関する記事を確認してください。First, review the Options for connecting an on-premises network to Azure article in the documentation. そこで、以下の接続オプションに関する情報が必要になるでしょう。From there, you may want information on these connectivity options:

ネットワーク接続が安全に確立されたら、既存のワークロード マネージャーのバースティング機能と共に、オンデマンドでクラウド コンピューティング リソースの使用を開始できます。Once network connectivity is securely established, you can start using cloud compute resources on-demand with the bursting capabilities of your existing workload manager.

Marketplace のソリューションMarketplace solutions

Azure Marketplace では、多数のワークロード マネージャーが提供されています。There are a number of workload managers offered in the Azure Marketplace.

Azure BatchAzure Batch

Azure Batch は、大規模な並列コンピューティングやハイ パフォーマンス コンピューティング (HPC) のアプリケーションをクラウドで効率的に実行するためのプラットフォーム サービスです。Azure Batch is a platform service for running large-scale parallel and high-performance computing (HPC) applications efficiently in the cloud. 大量のコンピューティングを要する作業を仮想マシンの管理されたプールで実行するようにスケジュールを設定し、ジョブのニーズに合わせてコンピューティング リソースを自動的にスケールできます。Azure Batch schedules compute-intensive work to run on a managed pool of virtual machines, and can automatically scale compute resources to meet the needs of your jobs.

SaaS のプロバイダーやデベロッパーは、Batch の SDK とツールを使って、HPC アプリケーションやコンテナー ワークロードを Azure に統合し、Azure にデータをステージングして、ジョブ実行パイプラインを作成できます。SaaS providers or developers can use the Batch SDKs and tools to integrate HPC applications or container workloads with Azure, stage data to Azure, and build job execution pipelines.

Azure CycleCloudAzure CycleCloud

Azure CycleCloud は、Azure で任意のスケジューラ (Slurm、Grid Engine、HPC Pack、HTCondor、LSF、PBS Pro、Symphony など) を使用して HPC ワークロードを管理する最も簡単な方法を提供しますAzure CycleCloud Provides the simplest way to manage HPC workloads using any scheduler (like Slurm, Grid Engine, HPC Pack, HTCondor, LSF, PBS Pro, or Symphony), on Azure

CycleCloud では以下を行えます。CycleCloud allows you to:

  • スケジューラ、コンピューティング VM、ストレージ、ネットワーク、キャッシュなど、すべてのクラスターとその他のリソースをデプロイするDeploy full clusters and other resources, including scheduler, compute VMs, storage, networking, and cache
  • ジョブ、データ、クラウドのワークフローを調整するOrchestrate job, data, and cloud workflows
  • ジョブを実行できるユーザー、その実行場所、その実行にかかるコストを管理者が完全に制御できるようにするGive admins full control over which users can run jobs, as well as where and at what cost
  • コスト管理、Active Directory の統合、監視、レポートなど、高度なポリシーおよび管理機能を使用して、クラスターをカスタマイズおよび最適化するCustomize and optimize clusters through advanced policy and governance features, including cost controls, Active Directory integration, monitoring, and reporting
  • 変更せずに現在のジョブ スケジューラとアプリケーションを使用するUse your current job scheduler and applications without modification
  • さまざまな HPC ワークロードや業界に対して、組み込みの自動スケーリングと実績が証明されている参照アーキテクチャを活用するTake advantage of built-in autoscaling and battle-tested reference architectures for a wide range of HPC workloads and industries

ワークロード マネージャーWorkload managers

Azure のインフラストラクチャで実行できるクラスターおよびワークロード マネージャーの例を次に示します。The following are examples of cluster and workload managers that can run in Azure infrastructure. Azure VM にスタンドアロンのクラスターを作成するか、オンプレミス クラスターから Azure VM にバーストします。Create stand-alone clusters in Azure VMs or burst to Azure VMs from an on-premises cluster.

ContainersContainers

コンテナーは、一部の HPC ワークロードを管理するためにも使用できます。Containers can also be used to manage some HPC workloads. Azure Kubernetes Service (AKS) などのサービスを使用すると、マネージド Kubernetes クラスターを Azure 内に簡単にデプロイできます。Services like the Azure Kubernetes Service (AKS) makes it simple to deploy a managed Kubernetes cluster in Azure.

コスト管理Cost management

Azure での HPC コストの管理は、いくつかの異なる方法を通じて行えます。Managing your HPC cost on Azure can be done through a few different ways. Azure の購入オプションを確認して、ご自分の組織にとって最適な方法を見つけてください。Ensure you've reviewed the Azure purchasing options to find the method that works best for your organization.

低優先度 VM を使うと、非常に低コストで未使用の容量を利用できます。Low priority VMs allow you to take advantage of our unutilized capacity at a significant cost savings.

セキュリティSecurity

Azure におけるセキュリティのベスト プラクティスの概要については、Azure のセキュリティに関するドキュメントを参照してください。For an overview of security best practices on Azure, review the Azure Security Documentation.

クラウド バースティングに関するセクションにあるネットワーク構成のほかに、ハブ/スポーク構成を実装して、コンピューティング リソースを分離することができます。In addition to the network configurations available in the Cloud Bursting section, you may want to implement a hub/spoke configuration to isolate your compute resources:

HPC アプリケーションHPC applications

Azure ではカスタム HPC アプリケーションや商用 HPC アプリケーションを実行できます。Run custom or commercial HPC applications in Azure. このセクションのさまざまな例で、VM やコンピューティング コアを追加して効率的にスケールできることが確認されています。Several examples in this section are benchmarked to scale efficiently with additional VMs or compute cores. すぐにデプロイ可能なソリューションについては、Azure Marketplace を参照してください。Visit the Azure Marketplace for ready-to-deploy solutions.

注意

クラウドで実行するためのライセンスまたはその他の制限事項については、商用アプリケーションのベンダーに確認してください。Check with the vendor of any commercial application for licensing or other restrictions for running in the cloud. すべてのベンダーが従量課金制ライセンスを提供しているとは限りません。Not all vendors offer pay-as-you-go licensing. ソリューション用にクラウド内にライセンス サーバーを用意したり、オンプレミスのライセンス サーバーに接続することが必要になる場合があります。You might need a licensing server in the cloud for your solution, or connect to an on-premises license server.

エンジニアリング アプリケーションEngineering applications

グラフィックとレンダリングGraphics and rendering

AI とディープ ラーニングAI and deep learning

MPI プロバイダーMPI Providers

リモート視覚化Remote visualization

パフォーマンス ベンチマークPerformance Benchmarks

顧客事例Customer stories

多くのお客様が、Azure を HPC ワークロードに使用して大きな成功を収めています。There are a number of customers who have seen great success by using Azure for their HPC workloads. 以下では、それらのお客様のケース スタディをいくつかご紹介します。You can find a few of these customer case studies below:

その他の重要な情報Other important information

  • 大規模なワークロードの実行を試行する前には、vCPU クォータを引き上げておくようにしてください。Ensure your vCPU quota has been increased before attempting to run large-scale workloads.

次の手順Next steps

最新のお知らせについては、以下を参照してください。For the latest announcements, see:

Microsoft Batch の例Microsoft Batch Examples

以下のチュートリアルでは、Microsoft Batch でのアプリケーションの実行について詳しく説明しますThese tutorials will provide you with details on running applications on Microsoft Batch