マルチプロセッサ

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

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

概念

複数のプロセッサが、メモリを共有するか、または高速な相互接続を行なうことで、互いが強固に連結されたアーキテクチャのこと。

パソコンでは一般に2〜4個、大規模なコンピュータでは数十から数百個、時に数千〜数万のプロセッサを搭載する。そして個々の仕事を複数のプロセッサで分担して並行処理することで、処理速度の向上を実現する。

近年では、複数のプロセッサコアを密に結合して一つのパッケージに封止するなどした「マルチコア」のプロセッサも多く使われている。

呼称

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

準備

実現のためには、プロセッサ自身、チップセット等の周辺機器や回路の対応のほか、マルチプロセッサに対応したオペレーティングシステム(OS)が必要になる。

通常は、処理はスレッドに分割し、マルチスレッドOSを用いてマルチスレッド処理を行なうことになる。

対称性

全てのプロセッサの仕事が対称な場合と、そうでない場合がある。

どのプロセッサも対等で対称的なものをSMPといい、処理装置ごとに役割分担が決まっていて非対称的なものをASMPという。

マルチスレッド

マルチスレッドの処理を書く場合、必ずマルチプロセッサのマシンで動作テストをするべきである。

なぜなら、シングルプロセッサでは問題が出ないが、マルチプロセッサでは問題が生じることが多々あるためである。特に排他制御まわりは、この問題をよく生じさせる部位である。

大昔は、マルチプロセッサのマシンは高価で、高嶺の花であったが、最近は一般のパーソナルコンピュータ用のCPUでもマルチコアが一般化し、テストをしやすい環境になった。