マイクロンのテクノロジー用語集

High-performance computing(高性能コンピューティング)

高性能コンピューティング(HPC)とは、複雑な問題をきわめて高速かつ大規模に解決するために、高度なコンピューティングシステム(通常は、多数のプロセッサーが同時に動作するクラスターやスーパーコンピューター)を使用することを指します。HPCは、従来のシステムでは処理にあまりにも長い時間を要してしまうような膨大なデータセットを処理し、詳細なシミュレーションを実行することによって、科学研究、産業イノベーション、人工知能(AI)の分野における画期的な進展を可能にします。

オンプレミス、クラウド、分散型の環境にわたって現代のワークロードが拡大するにつれ、パフォーマンスを低下させることなく、機密データを適切に取り扱い、データアクセスを管理し、結果の信頼性と監査可能性を維持するために、データガバナンスの重要性がますます高まっています。

高性能コンピューティングとは?

高性能コンピューティングの定義:HPCとは、並列処理、高速相互接続、および最適化されたシステムアーキテクチャーを活用して、計算負荷の高い問題を解決し、大規模なデータセットをきわめて高いスループットで処理するコンピューティングアプローチのことです。

HPCでは、単一の中央処理装置(CPU)に依存してタスクを順次処理するのではなく、同時に動作する多数のプロセッサーに処理を分散します。この並列アプローチにより、より小さなタスクに分割可能なワークロード(特にシミュレーション、モデリング、およびデータ集約型分析)において、結果が出るまでの時間が短縮されます。

HPCシステムは、次の点において従来のコンピューターとは異なります。

  • 多数の計算リソースにわたって、大規模な並列ワークロードを同時に実行する
  • データ集約型ワークフローにおいて、高いスループットを維持する(単なる計算の高速処理にとどまらない)
  • モデリングやシミュレーション、AIトレーニング、大規模分析といった最新のワークロードに対応する

スーパーコンピューターは、HPCの最も先進的な形態です。これは、大規模な並列処理と専用アーキテクチャーを組み合わせることで、汎用エンタープライズシステムよりも桁違いに高いパフォーマンスを実現し、気候モデリング、ゲノム解析、大規模なAIトレーニングなどへの活用が可能となります。

高性能コンピューティングはどのように機能するのでしょうか?

単一のプロセッサー上でタスクを順次処理する従来のコンピューターとは異なり、HPCシステムは、同時に動作する多数のプロセッサーにワークロードを分散します。この手法(並列計算処理)は、大規模なHPCのパフォーマンスを支える基盤となっています。

ほとんどのHPC環境はクラスターとして構築されています。クラスターは、レイテンシーの低いネットワークで接続され、かつクラスター管理ソフトウェアで調整される多数の計算システムで構成されています。一般的なHPCクラスターには、次のものが含まれます。

  • ヘッドノード:クラスターの管理、ジョブのスケジューリング、ワークロードの調整を行う
  • 計算ノード:アプリケーションのワークロードを実行する。複数のCPUに加え、グラフィック処理ユニット(GPU)などのアクセラレータが採用されるケースも増えてきている
  • 高速相互接続:ノード間の通信を、レイテンシーを最小限に抑えて高速化する
  • 共有ストレージシステム:クラスター全体に一元化されたデータアクセスを提供する

現代のHPCでは、パフォーマンスはもはや計算能力だけで決まるものではありません。メモリ帯域幅、ストレージのスループット、およびシステム全体でのデータ移動の効率は、結果が出るまでの時間を制限する要因となり得ます。特に、ワークロードが大量のデータセットをストリーミングしたりシャッフルしたりする場合に、その傾向が顕著です。組織の規模が複数の環境にわたって拡大するのに伴い、データガバナンスの要件(アクセス制御、保存期間ポリシー、データリネージ、コンプライアンス)についても、ボトルネックが生じたり、不必要なデータの複製が増大したりしない方法で実装する必要があります。

高性能コンピューティングの歴史とはどのようなものですか?

HPCは、より高いパフォーマンス、より優れたスケーラビリティ、そしてより効率的なデータ処理に対する需要に応える形でアーキテクチャーを進化させてきました。

  • 1960年代、スーパーコンピューティングの黎明期:世界初のスーパーコンピューターの一つとして広く知られているのはControl Data Corporationが製造したCDC 6600で、科学分野のワークロードではかつてないほどの処理速度を実現しました。
  • 1970年代、ベクトル処理システム:Cray-1といったシステムは、大規模なデータセットに対してベクトル演算を効率的に適用することで、モデリングやシミュレーションの精度を向上させました。
  • 1980年代、HPCの応用分野の拡大:HPCの利用は研究分野や政府機関に広がり、気象予測や複雑な物理シミュレーションといったワークロードを支えました。
  • 1990年代、並列処理が基盤となる:HPCは、クラスター型アーキテクチャーと大規模並列アーキテクチャーへと移行し、相互接続されたノード間でワークロードを分散させることで、スケーラビリティを向上させました。
  • 2000年代半ば、マルチコアCPUアーキテクチャー:CPUのクロック速度が頭打ちになるにつれ、パフォーマンスの向上はコア数の増加によってもたらされることが多くなり、ソフトウェアレベルの並列処理がますます重要視されるようになりました。
  • 2010年代~現在、異種混在型とアクセラレータ駆動型のコンピューティング:HPCシステムでは、高度に並列化されたワークロードのパフォーマンスとエネルギー効率を向上させるため、CPUとアクセラレータ(最も一般的なのはGPU)を組み合わせた異種混在ノードの採用がますます進んでいます。
  • 2010年代後半~現在、AIによるワークロードの拡大:AIや機械学習の台頭により、きわめて並列性の高いワークロードが登場し、その結果、アクセラレータを多数搭載したHPCシステム、広帯域幅メモリ、高速ストレージ、そしてより効率的なデータ移動に対する需要がさらに高まりました。

今日、HPCは、クラウドの統合、コンポーザブルインフラの概念、そしてメモリとストレージの融合や高度な相互接続といった先端技術によって進化を続けています。優先事項は一貫しています。つまり、コストのかかるデータ移動を削減し、利用可能な帯域幅を拡大し、そして分散環境全体にわたって運用管理とデータガバナンスを維持しつつ、パフォーマンスを拡張することです。

高性能コンピューティングの種類には主にどのようなものがありますか?

HPCについては、厳格な分類よりも、そのアーキテクチャーモデルを通じて理解するのがベストです。なぜなら、アプローチごとにワークロードの実行場所、スケーリング方法、データの管理方法が決定されるからです。

  • クラスター型コンピューティング:クラスターは、単一のシステムとして動作する緊密に連携したノードの集合体であり、低レイテンシーかつ高性能な並列実行向けに最適化され、オンプレミスのHPC環境において一般的に利用されています。
  • 分散型コンピューティング:分散型コンピューティングは、多くの場合地理的に分散している複数のシステムやサイト全体にわたってワークロードを実行します。弾力的なスケーリングの恩恵を受ける、クラウドベースHPCやデータ集約型ワークフローでよく利用されています。
  • ハイブリッドHPC:ハイブリッドHPCは、オンプレミスのクラスターインフラとクラウドリソースを組み合わせたものです。組織では、このモデルを利用して、ピーク需要時にワークロードをクラウドへ「バースト」させたり、柔軟性を高めたり、環境全体にわたってコスト、パフォーマンス、データガバナンス要件のバランスを取ったりすることが多くあります。

高性能コンピューティングはどのように活用されていますか?

HPCは、高速かつデータ集約型の処理、高度なモデリング、そして高精度なシミュレーションが求められる分野で広く活用されています。HPCの一般的な活用例としては、次のようなものが挙げられます。

  • ヘルスケアとライフサイエンス:ゲノム解読、タンパク質モデリング、医療画像解析、創薬パイプライン。
  • 金融サービス:リスクモデリング、不正検知、ポートフォリオシミュレーション、モンテカルロ法
  • AIと機械学習:大規模モデル、ハイパーパラメータの調整、大規模な高スループット推論の実行。
  • 科学的研究:気候・気象モデリング、天体物理学、材料科学、計算化学。
  • エンジニアリングと製造:シミュレーション、デジタルツイン、計算流体力学、設計最適化。

データセットの規模が拡大し、ワークフローの分散化が進む中、HPCシステムは、機密性の高いデータセットへのアクセス権限の管理、重複する不要なデータの削減、チームやサイト間での再現性の確保といった、堅固なデータガバナンスの慣行をサポートしつつ、結果が出るまでの時間を維持するのに役立ちます。

よくある質問

高性能コンピューティングに関するよくある質問

HPCは、多くの処理リソースに作業を分散して並列処理を行うことで、計算処理やデータ処理を多用するワークロードにおいて結果が出るまでの時間を短縮します。これにより、より高精度なシミュレーション、大規模データセットの高速分析、AIや研究ワークフローの迅速な反復が可能となり、組織がより迅速に適切な意思決定を行えるようになるとともに、モデリングや分析の対象となる範囲の実用上の限界を広げることができます。

HPCでは、大規模な実装や運用が難しい場合があります。一般的な課題としては、インフラや運用のコスト、システムの複雑さ(スケジューリング、調整、監視)、電力や冷却の要件、データ移動に起因するパフォーマンスのボトルネックなどが挙げられます。特に、ストレージ、メモリ帯域幅、相互接続の制約により、計算リソースが十分に活用できない場合があります。データガバナンスでは、アクセス制御、監査、ポリシー適用に関して追加要件が生じる場合がありますが、ワークフローに支障をきたすことなくこれらを実装する必要があります。

すべてのHPCワークロードにとって「最適」な唯一のプログラミング言語は存在しません。CとC++はパフォーマンスが重要視されるアプリケーションで広く使用され、Fortranは科学計算の分野で依然として一般的に使用され、Pythonはオーケストレーション、データワークフロー、プロトタイピングによく使用されています。また、最新のHPC環境の多くでは、並列プログラミングモデルやライブラリ(MPIやOpenMPなど)、GPU対応ワークロード向けのアクセラレータに特化したツールチェーンも利用されています。