マルチプロセッサー
読み:マルチプロセッサー
外語:MP: multi-processor

 分散コンピューティングのアーキテクチャーの一つ。
目次

概要

概念
 複数のプロセッサーが、メモリーを共有するか、または高速な相互接続を行なうことで、互いが強固に連結されたアーキテクチャーのこと。
 パソコンでは一般に2〜4個、大規模なコンピューターでは数十から数百個、時に数千〜数万のプロセッサーを搭載する。そして個々の仕事を複数のプロセッサーで分担して並行処理することで、処理速度の向上を実現する。
 近年では、複数のプロセッサーコアを密に結合して一つのパッケージに封止するなどした「マルチコア」のプロセッサーも多く使われている。

呼称
 マルチというだけでなく、その個数に応じた呼びわけも行なわれている。

特徴

準備
 実現のためには、プロセッサー自身、チップセット等の周辺機器や回路の対応のほか、マルチプロセッサーに対応したオペレーティングシステム(OS)が必要になる。
 通常は、処理はスレッドに分割し、マルチスレッドオペレーティングシステムを用いてマルチスレッド処理を行なうことになる。

対称性
 全てのプロセッサーの仕事が対称な場合と、そうでない場合がある。
 どのプロセッサーも対等で対称的なものを対称型(SMP)といい、処理装置ごとに役割分担が決まっていて非対称的なものを非対称型(AMP)という。

マルチスレッド
 マルチスレッドの処理を書く場合、必ずマルチプロセッサーのマシンで動作テストをするべきである。
 なぜなら、シングルプロセッサーでは問題が出ないが、マルチプロセッサーでは問題が生じることが多々あるためである。特に排他制御まわりは、この問題をよく生じさせる部位である。
 大昔は、マルチプロセッサーのマシンは高価で、高嶺の花であったが、最近は一般のパーソナルコンピューター用のCPUでもマルチコアが一般化し、テストをしやすい環境になった。

共有バス
 多くの場合、複数のプロセッサーで、同じバス(アドレスバス・データバス)を共有する共有バス方式のマルチプロセッサーシステムが使われる。
 共有バス方式の場合、バスの混雑が問題となる。そこで共有バス方式では、個々のプロセッサーにキャッシュを持たせて共有バスのアクセス頻度を減らすようにしている。しかしキャッシュを使うと、同一番地に対する記憶部が複数箇所に分散することになり、データの一貫性を保つことができなくなる問題がある。
 そこで、共有バスで動作する通信プロトコルとしてキャッシュを更新するためのプロトコルが使用されることもある。

再検索