ハイパフォーマンスコンピューティング

ハイパフォーマンスコンピューティングは、高効率ソフトウェア、メッセージ受け渡しインターフェース、メモリ処理機能と共に、スタンドアロンまたはクラスター形式でコンピューティングパワーを利用して、各種のソリューションでスケーラビリティを高めて実行時間を最少化することを可能にします。

ハードウェアとソフトウェアの機能の高速化によって、科学、技術、医療、工学といった幅広い用途で非常に複雑かつ大規模な問題を解決することが可能になりました。

有限要素解析では本質的に、複数の次元にまたがった大規模な行列因数分解や行列反転などの操作を処理する必要があります。使用されるソルバー(反復や直接など)によっては、スタンドアロンワークステーションでは、必要な行列演算を実行するのに非常に長い時間がかかることがあります。

コンピューターアーキテクチャ

コンピューターアーキテクチャは、コンピューターシステムの各種エンティティの構造と相互動作からなります。コンピューターアーキテクチャの基本を理解することは、OptiStructで提供されているハイパフォーマンスコンピューティング機能を有効に利用するために不可欠です。

一般的なコンピューターシステムは、すべての基本的計算を実行する中央演算処理装置(CPU)を備えています。これは、一般的なワークステーションではコアと呼ばれます。コア / CPUは、マザーボードのソケットに装着される物理プロセッサの一部です。1つのプロセッサ(ソケットに装着)が複数のコア / CPUを備えることができます。単一のノードが複数のソケットを備えることが可能です(各ソケットには1つのプロセッサが装着されます)。単一のコア / CPUは、ソフトウェアやオペレーティングシステムとの単一の接続を処理することも、複数の接続を並列処理することもできます。これらの接続はスレッドと呼ばれ、一般に1つのコアは一度に1つの接続(スレッド)のみを処理できます。コア / CPUがハイパースレッディングに対応している場合は、コア / CPUとソフトウェアの間の複数のスレッド / 接続が同時に存在できます。

クラスター

コンピュータークラスターとは、相互に接続されて1つのユニットとして動作するノードの集合体のことです。クラスターに割り当てられたタスクは、各種ソフトウェアによって内部でそのクラスター内のノードに分散して再構成できます。


図 1. 一般的なコンピューターアーキテクチャレイアウト - 3つのノードを持つクラスター

ノード

ノードとは、クラスター内の1台のコンピューティングマシン / ワークステーション / ラップトップのことです。ノードは、複雑なシステムと電子回路を介して相互に通信するさまざまな電気および電子コンポーネントで構成されています(中央演算処理装置 / コア、メモリ、ポートなど)。一般に、ノードは1つまたは複数のソケットを備えており、これらの各ソケットには1つの物理プロセッサが装着されています。


図 2. 一般的なコンピューターアーキテクチャレイアウト - 2つのソケットを備えたノード

物理プロセッサは、単一または複数のコア / CPUを備えています。CPUがハイパースレッディングに対応していない場合は、単一のコア / CPUは、同じCPU時間間隔内に1つの接続のみを処理できます。ハイパースレッディングに対応している場合は、CPUとソフトウェアの間の複数の接続が同時に存在できます。コア / CPUとは、プログラムを実行するために必要なデータとハードウェア一式のことです。

直列コンピューティングと並列コンピューティング

プログラムは、具体的なハードウェアやソフトウェアの機能に基づいて直列モードまたは並列モードで実行できます。一般に、直列実行は、メモリが分散されない単一の論理プロセッサ上で行われるのに対して、並列実行は、並列化実装タイプに応じて共有メモリまたは分散メモリが使用されることがある複数の論理プロセッサ上で行われます。
直列コンピューティング
並列コンピューティング
ソリューションは個別命令に分割されます。
ソリューションは複数のセクションに分割され、これらのセクションはさらに個別命令に分割されます。
個別命令が1つの論理プロセッサ上で順次実行されます。
すべてのセクションの個別命令が複数の論理プロセッサ上で同時に並列実行されます。
時間領域内の各ポイントでは、単一の個別命令のみが実行されます。
時間領域内の各ポイントでは、複数のパートに関連する複数の個別命令が同時に実行されます。
実行時間は一般に、並列コンピューティングよりも長くなります。
実行時間は一般に、直列コンピューティングよりも短くなります。

インプリメンテーション

OptiStructのハイパフォーマンスコンピューティングにより、単一の共有メモリシステム(SMP)内で複数のスレッドを使用して高速化を促進したり、メッセージ受け渡しインターフェース(MPI)のインプリメンテーションを通じて単一の分散メモリシステムクラスター(SPMD)で複数のノードを使用してスケーラビリティを高めたり、NVIDIA CUDAインプリメンテーションを通じてグラフィックスプロセッシングユニット(GPU)を使用したりすることが可能になります。

これらの並列化オプションは、スタンドアロンシステム、クラスター、またはGPU機能拡張ワークステーションで使用できます。

以下のハイパフォーマンスコンピューティングオプションを使用できます。