プログラミング
 Computer >> コンピューター >  >> プログラミング >> プログラミング

並列処理のアーキテクチャは何ですか?


サーバー市場には、対称型マルチプロセッシング(SMP)、超並列処理(MPP)、不均一メモリアーキテクチャ(NUMA)などの3つの基本的な並列処理ハードウェアアーキテクチャがあります。

対称型マルチプロセッシング(SMP)

SMPアーキテクチャは、複数のプロセッサを備えた個別のデバイスであり、すべてが1つのオペレーティングシステムによって管理され、すべてが同様のディスクとメモリ領域にアクセスします。 8〜32個のプロセッサ、並列データベース、大容量メモリ(2ギガバイト以上)、優れたディスク、および優れた設計を備えたSMPマシンは、中規模のウェアハウスで十分に機能するはずです。

データベースはそのプロセスを並列で実行できる必要があり、データウェアハウスプロセスは並列機能を利用するように設計されている必要があります。プロセッサは共有リソース(メモリとディスク)に迅速にアクセスできますが、それらのリソースで取得する必要のあるアクセスパスであるバックプレーンは、システムの拡張に伴ってボトルネックに発展する可能性があります。

SMPマシンは単一のエンティティであるため、倉庫内の単一障害点であるという弱点もあります。これらの問題を克服するために、ハードウェア会社は、複数のSMPマシンを相互にリンクまたはクラスター化することを可能にする技術を考案しました。

クラスターでは、各ノードはオペレーティングシステムを実行するSMPマシンですが、クラスターには、マシンがディスクを共有してフェイルオーバーバックアップを提供できるようにする接続と制御ソフトウェアが含まれています。この場合、1台のマシンに障害が発生すると、クラスター内の他のマシンが一時的にその処理負荷を引き継ぐことができます。もちろん、このメリットにはコストがかかります。クラスタリングは非常に複雑であり、管理が難しい場合があります。クラスタにまたがるのに必要なデータベーステクノロジーは向上しています。

超並列処理(MPP)

MPPシステムは、比較的独立した一連のコンピューターであり、それぞれにオペレーティングシステム、メモリ、およびディスクがあり、すべてメッセージをやり取りすることによって調整されます。 MPPの強みは、何百ものマシンノードを接続し、力ずくのアプローチを使用してそれらを問​​題に適用できることです。

たとえば、大きなテーブルの全表スキャンを実行する必要がある場合、そのテーブルを100ノードのMPPシステムに分散し、各ノードにテーブルの100分の1をスキャンさせるのは比較的高速です。これは、「多くの手が軽い仕事をする」と同等のコンピューターです。

Non-Uniform Memory Architecture(NUMA)

NUMAは、SMPの共有ディスク適​​応性とMPPの並列速度を統合するためのSMPとMPPのセットです。このアーキテクチャは比較的最新のイノベーションであり、長期的にはデータウェアハウジングに使用できる可能性があります。

NUMAは、概念的にはSMPマシンをクラスタリングするという考え方に似ていますが、接続がより緊密で、帯域幅が広く、ノード間の調整が強化されています。ウェアハウスを比較的独立した使用グループにセグメント化し、各グループをそのノードに配置できる場合は、NUMAアーキテクチャが効果的である可能性があります。


  1. Cトークンとは何ですか?

    Cプログラムは命令のコレクションであり、各命令は個々のユニットのコレクションです。 Cプログラムのすべての小さな個々のユニットは一般にトークンと呼ばれ、Cプログラムのすべての命令はトークンのコレクションです。 トークンはCプログラムを構築するために使用され、Cプログラムの基本的な構成要素とも言われています。 Cプログラムでは、トークンには次のものが含まれます- キーワード 識別子 オペレーター 特別な記号 定数 文字列 データ値 Cプログラムでは、これらすべてのキーワード、識別子、演算子、特殊記号、定数、文字列、およびデータ値の集合をトークンと呼びます。 例 以下は、大文字のアル

  2. C#のコメントは何ですか?

    コメントはコードの説明に使用されます。コンパイラはコメントエントリを無視します。 C#プログラムの複数行コメントは、以下に示すように/ *で始まり、文字*/で終わります。 複数行のコメント /* The following is a mult-line comment In C# /* /*...*/はコンパイラによって無視され、プログラムにコメントを追加するために配置されます。 1行のコメント // variable int a = 10; 以下は、単一行コメントと複数行コメントを追加する方法を示すサンプルC#プログラムです- 例 using System; namespace Dem