共有メモリー MP
すべてのプロセッサーは、同じ筐体内で、高速バスまたはスイッチにより密結合されています。 プロセッサーは、同じグローバル・メモリー、ディスク、および入出力装置を共用します。 オペレーティング・システムの 1 つのコピーだけが、すべてのプロセッサーにわたって実行されるので、 オペレーティング・システムはこのアーキテクチャーを活用するように設計されていなければなりません (マルチスレッド化オペレーティング・システム)。
SMP には、次のような幾つかの利点があります。
- SMP はスループットを増やすための費用対効果の高い方法である。
- 単一システム・イメージで実行され、オペレーティング・システムがすべてのプロセッサー間で共用される (管理が容易)。
- 複数プロセッサーを 1 つの問題に適用する (並列プログラミング)。
- ロード・バランシングはオペレーティング・システムが行う。
- ユニプロセッサー (UP) プログラミング・モデルを SMP で使用することができる。
- 共用データについてスケーラブルである。
- すべてのデータがすべてのプロセッサーによってアドレス可能であり、 ハードウェア・スヌープ・ロジックによって整合性が保たれる。
- 通信がグローバル共有メモリーを通じて行われるので、 プロセッサー間の通信にメッセージ・パッシング・ライブラリーを使用する必要がない。
- システムにプロセッサーを追加することによって、処理能力の問題を解決することができる。 ただし、SMP システムにさらにプロセッサーを追加する場合のパフォーマンスの向上については、 現実的な予想を設定する必要があります。
- 現在、ますます多くのアプリケーションおよびツールが使用可能になっている。 ほとんどの UP アプリケーションは SMP アーキテクチャーで実行できるか、または SMP アーキテクチャーに移植することができる。
SMP システムには、次のような制限があります。
- キャッシュの整合性、ロック機構、共用オブジェクトその他のために、スケーラビリティーに制限がある。
- マルチプロセッサーを活用するには、スレッドのプログラミングやデバイス・ドライバーのプログラミングなどの新しいスキルが必要になる。