並列処理 【parallel processing】 パラレルプロセッシング / 並列コンピューティング / 並列計算 / パラレルコンピューティング
一台のコンピュータに複数のCPU(マイクロプロセッサ/MPU)を搭載して並列に処理を行う方式を「マルチプロセッサ」(マルチプロセッシング)、一つのCPUの内部に複数の演算・制御回路(プロセッサコア)を設け、それぞれが独立に処理を実行する方式を「マルチコアプロセッサ」という。
また、個々の命令のほとんどは実行に際し限られた回路しか使用しないという性質を利用して、空いている回路で実行できる別の命令を同時に投入する同時マルチスレッディング(SMT: Simultaneous Multithreading)も、不完全ながら広義には並列処理の一種と考えることもできる。
複数の命令の流れを同時刻に独立に進めることができるため、単一の処理装置を用いる場合に比べ、最大で装置の数を乗じた処理性能(プロセッサ4基なら4倍)を発揮できる可能性がある。ただし、すべてのソフトウェアや処理内容が完全な並列化に対応できるわけではないため、最大性能を完全に発揮できる場面は限られる。
並行処理 (concurrent processing)
コンピュータの単一の処理装置を複数の命令の流れで共有し、同時に実行状態に置くこと。ある瞬間に実行される命令の流れは一つだが、巨視的には同時に複数の命令の流れが実行されているように見える。
処理装置の処理時間を極めて短い時間ごとに分割し、実行する命令の流れを次々に切り替えることにより、複数の命令の流れを同時に実行することができる。
複数の異なるプログラムを並行して進めることをマルチプロセス(マルチタスク)、一つのプログラム内で複数の命令の流れを並行して進めることをマルチスレッドという。
使用する処理装置は一つであるため、並列処理とは異なり、命令の流れを増やしたからといって全体の処理性能が向上することはない。むしろ、命令の流れを切り替える処理(コンテキストスイッチ)の分だけ性能は劣化してしまう。