クラスターとMPPスーパーコンピューターアーキテクチャの違いは何ですか?
4 に答える
クラスタでは、各マシンはメモリやディスクなどの点で他のマシンからほとんど独立しています。これらは通常のネットワークのバリエーションを使用して相互接続されています。クラスターは主にプログラマーの心の中に存在し、プログラマーがどのように作業を分散することを選択するかを考えています。
超並列プロセッサでは、実際には、数千のCPUが緊密に相互接続されたマシンは1台だけです。MPPには、隣接するプロセッサとの中間結果の非常に高速な交換を可能にするエキゾチックなメモリアーキテクチャがあります。
主なバリエーションは、SIMD(単一命令、複数データ)およびMIMD(複数命令、複数データ)です。SIMDシステムでは、すべてのプロセッサが同じ命令を同時に実行しますが、メモリの異なるビットでのみ実行されます。基本的に、プログラムカウンターは1つだけです。MIMDマシンでは、各CPUに独自のPCがあります。
MPPはプログラムするのに苦労する可能性があり、驚異的並列であるアルゴリズムでのみ使用されます(実際にはそれが彼らの言うところです)。ただし、このような問題が発生した場合、MPPは驚くほど高速になる可能性があります。彼らはまた信じられないほど高価です。
Top500リストでは、 Dongarra et al。で説明されているように、MPPとクラスターの間でわずかに異なる区別が使用されています。論文:
[クラスターとは]独立したノードの統合されたコレクションで構成される並列コンピューターシステム。各ノードはそれ自体がシステムであり、独立した操作が可能で、他のスタンドアロン目的で開発および販売された製品から派生します。
クラスターと比較して、最新のMPP(IBM Blue Geneなど)はより緊密に統合されています。個々のノードは単独で実行できず、カスタムネットワーク(多次元トーラスなど)で接続されています。ただし、クラスターと同様に、すべてのノードにまたがる単一の共有メモリはありません(注:MPPは階層的であり、共有メモリは単一ノード(NUMA)内、または少数のノード間で使用される場合があります)。
したがって、SIMDおよびMIMDという用語は通常、共有メモリアーキテクチャ(SMP)を表すため、この文脈で使用する場合は非常に注意が必要です。
アップデート:
ドンガラ他 リンク
更新: MPPは、内部で共有メモリを使用するノードを持つことができます。ただし、MPPメモリ全体は共有されません。
クラスターは一連のマシンであり、通常はイーサネット相互接続(読み取り:ネットワーク)であり、それぞれがOSの独自の個別のコピーを実行しており、これらはたまたま単一の目的を果たします。
MPPスーパーコンピューターは通常、分散共有メモリ(高速相互接続を介して共有メモリを使用するさまざまなMPPノードでプロセスを実行し、単一のコンピューターで実行されているかのようにデータを共有する)をサポートする、より高速で非常に高速な相互接続(SGI NUMALinkなど)を意味します。または、シングルシステムイメージ(オペレーティングシステムの単一インスタンス、ほとんどがLinuxで、単一のマシン上にあるかのようにすべてのノードで同時に実行されます。たとえば、任意のノードの「ps aux」は、で実行されているすべてのプロセスを表示します。 MPP)。
定義が非常に流動的であることがわかるように、明確な違いではなく、規模の問題です。
多くのHPCの文献を検索しましたが、MPPの具体的な定義を見つけることができませんでした。複数の相互接続された通常のパーソナルコンピュータまたはワークステーションで構成され、通常は標準テクノロジ(イーサネットやオープンソースオペレーティングシステムなど)と組み合わされたクラスタには、かなりの結論があります。MPPという用語は、通常、分散メモリコンピュータを構築するためのより独自のアプローチに適用され、通常は独自のテクノロジを備えています。
例:Tianhe-2は、x86-64ノードと通常のオペレーティングシステム(Kylin Linux)を使用しているため、クラスターと見なされます。Sunway TaihuLightは、そのノードに特定のアーキテクチャSW26010があり、Sunway Raise OSと呼ばれる独自のオペレーティングシステムで動作するため、MPPと見なされます。
私が見つけたこの問題の最も具体的な説明は、並列コンピューティングのソースブック(Dongarra et al。)にありました。
We note that the term cluster can be applied both broadly (any system built with a significant number of commodity components) or narrowly (only commodity components and open-source software). In fact, there is no precise definition of a cluster. Some of the issues that are used to argue that a system is a massively parallel processor (MPP) instead of a cluster include proprietary interconnects (...), particularly ones designed for a specific parallel computer, and special software that treats the entire system as a single machine, particularly for the system administrators. Clusters may be built from personal computers or workstations (either single processors or symmetric multiprocessors (SMPs)) and may run either open-source or proprietary operating systems.