マルチプロセッシング
SIMDマルチプロセッシングは並列またはベクトル処理に適している。非常に大きなデータセットを部分に分割し、それぞれに同一だが独立な操作を施す。単一命令ストリームが複数の処理ユニットに与えられ、それらの処理ユニットが大量のデータに同時並行的に同じ処理を行うのである。
ある種の計算アプリケーションにとっては、このタイプのアーキテクチャは多大な性能向上をもたらす。特に与えられたタスクを完了するまでの経過時間が問題となるような場合に有効である。しかし、このアーキテクチャの問題は、アプリケーションやシステムタスクが並列に実行可能な部分に分割できないような場合にシステムの大部分がアイドル状態になってしまうことである。
さらに、アプリケーションはアーキテクチャの利点を最大限に利用するために慎重かつ特殊なコーディングを必要とし、そのような環境向けのコードを生成するよう設計された特殊な最適化コンパイラを使わなければならない。
マルチプロセッシングシステムでは、全CPUが等価の場合といくつかのCPUが特別な用途に使われる場合がある。ハードウェアとオペレーティングシステムの設計によって、システムの対称性の度合いが決定される。例えば、ハードウェアまたはソフトウェアの制限によって1つのCPUだけがすべてのハードウェア割り込みに反応し、他のすべての作業が等しく全CPUに分配される場合もある。また、カーネルモードの実行がひとつのプロセッサに限定される場合もある(指定された特定のプロセッサの場合と、同時に複数のプロセッサでカーネルを実行できない場合がある)。このような制限がある場合、マルチプロセッシングシステムの設計は容易になるが、全CPUが対称に扱われるシステムよりも性能が低下する。
全CPUを等価に扱うシステムは対称型マルチプロセッシング(SMP)システムと呼ばれる。全CPUが等価ではないシステムには、内部資源の分割方式によっていくつかの種類がある。「非対称型マルチプロセッシング(英語版)」(ASMP)、「NUMA」マルチプロセッシング、「コンピュータ・クラスター」などである。非対称型マルチプロセッシングの例としては、IBMのOS/360やDECのVMSがある。