メインコンテンツに移動

クラスターコンピューティングとは何ですか?

クラスターコンピューティングは、クラスターと呼ばれる複数のコンピューティングノードを使用して、複雑な問題を解決するための処理能力を高めるプロセスです。医薬品研究、タンパク質分析、AI モデルトレーニングなどの複雑なユースケースでは、複雑な分類や予測タスクのために何百万ものデータポイントを並列処理する必要があります。クラスターコンピューティングテクノロジーにより、それぞれが独自の CPU、GPU、および内部メモリを備えた複数のコンピューティングノードが連携し、同じデータ処理タスクに取り組みます。クラスターコンピューティングインフラストラクチャ上のアプリケーションは、あたかも単一のマシン上にあるかのように動作し、基盤となるシステムの複雑さを認識しません。

クラスターコンピューティングテクノロジーの進化の歴史

コンピューティングクラスターは、複数のコンピュータに並列処理能力、メモリ、およびストレージを提供するために 1960 年代に発明されました。初期のクラスターは、パーソナルコンピュータ、ワークステーション、およびサーバーで構成されていました。各コンピュータはローカルエリアネットワーク (LAN) に接続され、ユーザーは 1 台のコンピュータを使用するようにリソースにアクセスできました。

クラスターコンピューティングを可能にするテクノロジーは、長年にわたって進化を続け、ハイパフォーマンスコンピューティング (HPC) などのユースケースがより多様化してきました。ハイパフォーマンスコンピューティングは、接続された複数のプロセッサ、場合によっては数十万のプロセッサを使用して、膨大な並列計算能力を可能にします。組織は HPC を使用して、データ分析、科学研究、機械学習、視覚処理などのリソースを大量に消費するアプリケーションのワークロードに対応しています。

クラウドでのクラスターコンピューティング

従来、コンピュータクラスターをセットアップするには、コンピュータ、オペレーティングシステム、ネットワーク機能、およびリソース分散メカニズムを手動でインストールして設定する必要がありました。さらに、クラスターをスケールするにはより多くのサーバーハードウェアに投資する必要があるため、オンプレミスのセットアップは組織とって大きな経済的負担となりました。

現在、多くのクラウドプロバイダーが、組織がワークロードを簡単にデプロイできるマネージドハイパフォーマンスコンピューティング (HPC) クラスターを提供しています。接続された何千台ものコンピュータをオンプレミスでセットアップする代わりに、AWS HPC で無制限のクラウド処理能力にアクセスできるようになりました。

AWS HPC を使用すると、ソフトウェアチームは利用可能なクラスターコンピューティングサービスを活用し、計算量の多いワークロードを取り入れ、スケールできます。たとえば、Hypersonix はハイパフォーマンスコンピューティングを使用して、AWS クラウド内の何百万ものセルを含む高速流体力学シミュレーションを実行しています。

クラスターコンピューティングのユースケースにはどのようなものがありますか?

以下で、クラスターコンピューティングテクノロジーの代表的な用途を紹介します。

ビッグデータ分析

クラスターコンピューティングは、分析タスクを複数のコンピュータに並列で分散することにより、データ分析を高速化できます。たとえば、モンテカルロ法、ゲノミクス、感情分析などの複雑な計算を、HPC ワークロードをサポートするように設計されたクラウドコンピューティングクラスターで実行できます。

人工知能と機械学習

人工知能と機械学習 (AI/ML) アプリケーションは、トレーニングやデータの処理に膨大な処理能力を消費します。専用のクラスターコンピューティングインフラストラクチャを使用することで、データサイエンティストは結果が出るまでの時間を短縮できます。たとえば、AI 研究を加速するために設計されたコンピューティングチップである AWS Trainium を搭載したクラウド AI クラスターで AI/ML ワークロードを実行できます。 

3D レンダリング

クラスターコンピューティングにより、クラスターレンダリングが可能になります。これは、相互に接続された複数のコンピュータがさまざまな画面で画像またはビデオを同期するプロセスです。また、クラスターレンダリングを使用して、コンピュータ支援エンジニアリング、仮想現実、および強力なグラフィック処理能力を必要とするその他のアプリケーションをサポートすることもできます。

シミュレーション

組織はコンピューティングクラスターを使用してデータから得られる可能性のある結果をシミュレートし、ビジネス上の意思決定の指針としています。  複数のコンピュータを相互にリンクすることで、人間の専門家が基礎となるモデルから結果を抽出、確認、改良できるインタラクティブなワークフローが可能になります。たとえば、接続されたコンピュータのリソースを活用して、基盤となる機械学習ワークロードを強化することで、財務リスク分析を実行できます。 

クラスターコンピューティングの仕組み

クラスターコンピューティングは、ネットワークを介して複数のコンピュータを接続し、それらを単一のシステムとしてまとまって機能させます。通常、クラスターセットアップは、コンピューティングノード、リーダーノード、ロードバランサー、およびハートビートメカニズムで構成されます。リーダーノードはリクエストを受け取ると、タスクをコンピューティングノードに渡します。エンジニアによるクラスターの設定に応じて、各ノードは個別にタスクを実行することも、同時に実行することもできます。以下で各コンポーネントについて説明します。

 

コンピューティングノード

コンピューティングノードは、分散タスクを処理するサーバー (またはクラウドインスタンス) です。多くの場合、同じ CPU、GPU、メモリ、ストレージ、オペレーティングシステム、およびその他のコンピューティング仕様を共有しています。これは均質構成と呼ばれます。クラスターノードによってはコンピューティング仕様が異なる異種構成が使用されることもあります。

リーダーノード

リーダーノードは、他のコンピューティングノードがどのように連携するかを調整するために割り当てられたコンピュータです。リーダーノードは受信リクエストを受け取り、担当するさまざまなノードにタスクを分散します。リーダーノードに障害が発生すると、通常は残りのノードのコンセンサスによって選出された別のノードが代役を務めます。

ロードバランサー

ロードバランサーは、受信トラフィックを適切なコンピューティングノードに分散するネットワークデバイスです。ネットワークアクティビティ、リソース使用量、およびクラスターノード間のデータ交換を追跡します。クラスターコンピューティングおいてロードバランサーは、リクエストの急増によってコンピューティングノードが過負荷になるのを防ぎます。リーダーノードが、専用の負荷分散ソフトウェアツールを介してロードバランサーとして機能することがあります。

ハートビートメカニズム

ハートビートメカニズムは、クラスター内のすべてのコンピューティングノードを監視して、それらが動作していることを確認します。ノードが応答しない場合、ハートビートメカニズムはリーダーノードに警告し、タスクを他の機能ノードに再分配します。 

クラスターコンピューティングの種類

組織は、さまざまなビジネス、業績、および運用上の目標達成を支援するためにコンピューティングクラスターを設定できます。

負荷分散クラスター

負荷分散クラスターは、リソース管理を自動的に調整することにより、運用の安定性を実現します。このクラスターはリクエストを受け取ると、使用可能なすべてのノードにタスクを均等に分散します。これにより、個々のノードが過負荷になるのを防ぐことができます。たとえば、企業は季節的なトラフィックの急増に対応するために、負荷分散クラスターで e コマース Web サイトをホストしています。すべてのノードが協力してリクエストを処理するため、トラフィック量が多い場合でもユーザーは一貫したパフォーマンスを享受できます。

高可用性クラスター

高可用性 (HA) クラスターは、冗長ノードを維持することでサービスの可用性を確保します。1 つのノードで障害が発生すると、ロードバランサーはトラフィックをバックアップノードに再分散し、常にサービスの継続性を確保します。単一障害点を防ぐために、多くの場合、冗長ロードバランサーがセットアップに含まれています。これにより、コンポーネントに障害が発生した場合でも、クラスター全体が迅速に回復できます。

高可用性クラスターは 2 つの方法で構成できます。

アクティブ/アクティブ構成

タスクが与えられているかどうかに関係なく、すべてのノードが動作します。ただし、障害が発生した場合、ロードバランサーは正常なノードにタスクを再分配します。

アクティブ/パッシブ構成

通常動作中は一部のノードがアイドル状態のままとなります。ノードに障害が発生した場合にのみアクティブ化されます。

ハイパフォーマンスクラスター

ハイパフォーマンスクラスターは、複数のコンピュータまたはスーパーコンピュータを組み合わせて、複雑な計算タスクを高速処理速度で解決します。ハイパフォーマンスクラスターは、データを逐次処理するのではなく、並行処理するため、データマイニングなどのリソースを大量に消費するアプリケーションに役立ちます。さらに、コンピューティングノードは、共通の目標に向かって作業しながらデータを交換できます。 

AI におけるクラスターコンピューティングの役割は何ですか?

AI ワークロードには、大量のコンピューティングリソース、ストレージ、低遅延のネットワーク接続が必要です。これまで、組織はオンプレミスのデータセンターに AI ワークロードをデプロイしていました。ただし、AI アプリケーションがより複雑になるにつれて、より多くの計算能力とストレージスペースが必要になります。クラスターコンピューティングを AI ワークロードに転用すると、AI ワークロードを実行できるスーパーコンピュータの巨大なネットワークを構築できます。スーパーコンピュータは CPU の代わりに GPU と TPU を搭載し、高い計算要求を満たします。このようなクラスターアーキテクチャは AI スーパークラスターとも呼ばれ、組織は深層学習、自律システム、ビッグデータ分析、その他の AI アプリケーションを構築、デプロイ、およびスケールできます。

AWS でのクラスターコンピューティング要件のサポート

AWS Parallel Computing Service (AWS PCS) は、Slurm を使用して AWS でハイパフォーマンスコンピューティング (HPC) ワークロードを実行およびスケールするマネージドサービスです。AWS PCS は次の目的で使用できます。

  • 組み込みの管理機能とオブザーバビリティ機能を使用して、クラスターオペレーションを簡素化する。
  • AWS コンピューティング、ストレージ、ネットワーク、ビジュアライゼーションを統合するコンピューティングクラスターを構築する。
  • シミュレーションを実行したり、科学モデルやエンジニアリングモデルを構築したりする。

Elastic Fabric Adapter (EFA) は、Amazon EC2 インスタンス上で稼働するコンピューティングノード用のネットワークインターフェイスです。カスタムビルドのインターフェイスにより、クラスターコンピューティングアプリケーションのスケーリングに不可欠なインスタンス間通信のパフォーマンスが向上します。

AWS ParallelCluster は、Amazon EC2 クラスターのデプロイと管理を簡単にするオープンソースのクラスター管理ツールです。シンプルなグラフィカルユーザーインターフェイス (GUI) またはテキストファイルを使用して、HPC アプリケーションに必要なリソースのモデル化とプロビジョニングを自動的かつセキュアに実行できます。

今すぐ無料アカウントを作成して、AWS でのクラスターコンピューティングを開始しましょう。