ビッグ コンピューティング アーキテクチャ スタイルBig compute architecture style

ビッグ コンピューティングという用語は、数百、数千という大量の数のコアを必要とする大規模なワークロードを指します。The term big compute describes large-scale workloads that require a large number of cores, often numbering in the hundreds or thousands. シナリオには、イメージのレンダリング、流体力学、財務リスクのモデリング、石油探査、薬物設計、および工学応力分析などが含まれます。Scenarios include image rendering, fluid dynamics, financial risk modeling, oil exploration, drug design, and engineering stress analysis, among others.

ビッグ コンピューティング アーキテクチャ スタイルの論理図

ビッグ コンピューティング アプリケーションの一般的な特性を次に示します。Here are some typical characteristics of big compute applications:

  • 作業は、多くのコアで同時に実行できる個別のタスクに分割できます。The work can be split into discrete tasks, which can be run across many cores simultaneously.
  • 各タスクは有限です。Each task is finite. タスクはいくつかの入力を受け取り、いくつかの処理を行って、出力が生成されます。It takes some input, does some processing, and produces output. アプリケーション全体は、一定時間 (数分から数日) 実行されます。The entire application runs for a finite amount of time (minutes to days). 一般的なパターンは、バーストにより大量のコアをプロビジョニングし、アプリケーションが完了するとコア数はゼロまで下降します。A common pattern is to provision a large number of cores in a burst, and then spin down to zero once the application completes.
  • アプリケーションを常時実行し続ける必要はありません。The application does not need to stay up 24/7. ただし、システムでは、ノードの障害またはアプリケーションのクラッシュを処理する必要があります。However, the system must handle node failures or application crashes.
  • 一部のアプリケーションでは、タスクは独立しており、並列して実行できます。For some applications, tasks are independent and can run in parallel. または、タスクが緊密に結合されているため、相互に交信または中間結果を交換する必要がある場合もあります。In other cases, tasks are tightly coupled, meaning they must interact or exchange intermediate results. この場合、InfiniBand やリモート ダイレクト メモリ アクセス (RDMA) などの高速ネットワーク テクノロジを使用することを検討してください。In that case, consider using high-speed networking technologies such as InfiniBand and remote direct memory access (RDMA).
  • ワークロードに応じてコンピューティング集中型の VM サイズ (H16r、H16mr、および A9) を使用することができます。Depending on your workload, you might use compute-intensive VM sizes (H16r, H16mr, and A9).

このアーキテクチャを使用する条件When to use this architecture

  • シミュレーション や計算などの大量の計算操作。Computationally intensive operations such as simulation and number crunching.
  • 計算負荷が高く、複数のコンピューター (10 ~ 1000 台) の CPU に分割する必要があるシミュレーション。Simulations that are computationally intensive and must be split across CPUs in multiple computers (10-1000s).
  • 1 台のコンピューター上の大量のメモリを必要とするシミュレーションでは、複数のコンピューターに分割する必要があります。Simulations that require too much memory for one computer, and must be split across multiple computers.
  • 1 台のコンピューターでは計算に時間がかかりすぎる長い計算。Long-running computations that would take too long to complete on a single computer.
  • モンテカルロ シミュレーションなどの、数百または数千回実行する必要がある小規模な計算。Smaller computations that must be run 100s or 1000s of times, such as Monte Carlo simulations.

メリットBenefits

  • "驚異的並列" 処理によるハイ パフォーマンス。High performance with "embarrassingly parallel" processing.
  • 大きな問題を高速で解決するために何百、何千ものコンピューター コアを使用できます。Can harness hundreds or thousands of computer cores to solve large problems faster.
  • 専用の高速 InfiniBand ネットワークを使用した、特殊な高性能ハードウェアの使用。Access to specialized high-performance hardware, with dedicated high-speed InfiniBand networks.
  • 作業中、必要に応じて VM をプロビジョニングし、削除できます。You can provision VMs as needed to do work, and then tear them down.

課題Challenges

  • VM インフラストラクチャの管理。Managing the VM infrastructure.
  • 大量の計算の管理Managing the volume of number crunching
  • 適切なタイミングで数千のコアをプロビジョニングする。Provisioning thousands of cores in a timely manner.
  • 緊密に結合されたタスクにコアを追加すると逆効果になる場合があります。For tightly coupled tasks, adding more cores can have diminishing returns. 実験を通して最適なコア数を特定する必要があります。You may need to experiment to find the optimum number of cores.

Azure Batch を使用したビッグ コンピューティングBig compute using Azure Batch

Azure Batch は、大規模なハイ パフォーマンス コンピューティング (HPC) のアプリケーションを実行するためのマネージド サービスです。Azure Batch is a managed service for running large-scale high-performance computing (HPC) applications.

Azure Batch を使用して、VM プールを構成し、アプリケーションとデータ ファイルをアップロードします。Using Azure Batch, you configure a VM pool, and upload the applications and data files. バッチ サービスにより VM がプロビジョニングされ、VM にタスクが割り当てられ、タスクが実行され、進行状況が監視されます。Then the Batch service provisions the VMs, assign tasks to the VMs, runs the tasks, and monitors the progress. バッチは、ワークロードに応じて VM を自動的にスケール アウトできます。Batch can automatically scale out the VMs in response to the workload. また、バッチは、ジョブのスケジューリングも提供します。Batch also provides job scheduling.

Azure Batch を使用したビッグ コンピューティングの図

Virtual Machines で実行されるビッグ コンピューティングBig compute running on Virtual Machines

Microsoft HPC Pack を使用して VM のクラスターを管理して、HPC ジョブをスケジュールおよび監視できます。You can use Microsoft HPC Pack to administer a cluster of VMs, and schedule and monitor HPC jobs. この方法では、ユーザーが VM およびネットワーク インフラストラクチャのプロビジョニングや管理を行う必要があります。With this approach, you must provision and manage the VMs and network infrastructure. 既存の HPC ワークロードの一部またはすべてを Azure に移動する場合は、このアプローチを検討してください。Consider this approach if you have existing HPC workloads and want to move some or all it to Azure. HPC クラスター全体を Azure に移動できます。または、HPC クラスターはオンプレミスにしたまま、バースト容量のために Azure を使用できます。You can move the entire HPC cluster to Azure, or you can keep your HPC cluster on-premises but use Azure for burst capacity. 詳細については、大規模コンピューティング ワークロードのための Batch および HPC ソリューションに関するページをご覧ください。For more information, see Batch and HPC solutions for large-scale computing workloads.

Azure にデプロイされた HPC PackHPC Pack deployed to Azure

このシナリオでは、HPC クラスターすべてを Azure 内で作成します。In this scenario, the HPC cluster is created entirely within Azure.

Azure にデプロイされた HPC Pack の図

ヘッド ノードは、管理およびジョブ スケジューリング サービスをクラスターに提供します。The head node provides management and job scheduling services to the cluster. 緊密に結合されたタスクの場合は、非常に高い帯域幅、低待機時間の VM 間通信を提供する RDMA ネットワークを使用します。For tightly coupled tasks, use an RDMA network that provides very high bandwidth, low latency communication between VMs. 詳細については、Azure への HPC Pack 2016 クラスターのデプロイに関するページをご覧ください。For more information, see Deploy an HPC Pack 2016 cluster in Azure.

Azure への HPC クラスターのバーストBurst an HPC cluster to Azure

このシナリオでは、組織は、HPC Pack をオンプレミスで実行しており、バースト容量のために Azure VM を使用します。In this scenario, an organization is running HPC Pack on-premises, and uses Azure VMs for burst capacity. クラスターのヘッド ノードは、オンプレミスに設置されています。The cluster head node is on-premises. ExpressRoute または VPN Gateway は、オンプレミス ネットワークを Azure VNet に接続します。ExpressRoute or VPN Gateway connects the on-premises network to the Azure VNet.

ハイブリッド ビッグ コンピューティング クラスターの図